0%

Linux nohup 命令

linux后台执行命令:&和nohup

当我们在终端或控制台工作的时候,如果希望同时进行另外一个工作,那么此时就希望将当前的工作放在后台运行,特别是如果当前的命令执行时间会很长的情况下。

那么下面就说下两种方法。

&

命令后面加上&相信很多人都用过,比较适合一些费时的命令或脚本,不过注意不要讲有交互的命令放在后台执行,因为这样你的机器就会一直等待输入。使用方法为

1
$ command &

如果放在后台的作业会产生大量的输出,那么此时最好可以将输出重定向到某个文件中,使用方法为

1
$ command > out.file 2>&1 &

其中2>&1 表示将标准出错重定向到标准输出

不过使用&有的弊端,就是一旦把当前的控制台关掉或者账号退出时就会停止作业。

此时就需要下面的这个命令了。

nohup

nohup命令可以在退出账户后继续执行相应的命令,意思为不挂起no hang up。

命令的使用方法如下:

1
$ nohup command &

默认情况下作业的所有输出被重定向到一个nohup.out文件中,也可以指定输出文件,如下所示:

1
$ nohup command > mynohup.file 2>&1 &

不过这里还是有需要注意的事项,非正常退出可能会导致命令失效,所以需要使用exit正常退出当前账户。

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道