我的博客
欢迎来到我的博客
bunny.icu

Linux后台执行

Linux后台执行

Linux后台执行

使命令在后台执行

&加在一个命令的最后,可以把这个命令放到后台执行,但退出终端时会停止执行

python test.py &

如果希望退出终端继续执行,可以在前面加上nohup

nohup python test.py &

这样会使程序的输出重定向到当前目录的nohup.out文件中,如果不需要,可以用/dev/null来解决

nohup python test.py > /dev/null &

将前台命令调至后台执行

Ctrl + Z可以将一个正在前台执行的命令放到后台,并且处于暂停状态。

此时使用jobs命令,会显示后台命令编号、状态等信息。

fg [后台命令编号]命令,可以将一个后台命令调至前台继续执行。

bg [后台命令编号]命令,可以使一个暂停状态的后台命令在后台继续执行,但退出终端时会停止执行

如果希望退出终端继续执行,可以执行下面这条命令:

disown -h %[后台命令编号]

终止后台命令

方式一:可以用fg命令将进程调至前台,用Ctrl + C使其终止

方式二:使用kill命令+后台命令编号,这种方式要求后台命令属于当前终端

kill %[后台命令编号]

方式三:用ps命令查出进程的PID,再使用kill命令

ps -aux | grep "test.py"
kill -s 9 [PID]

对于在其他终端执行的命令,只能用第三种方式处理。

Reference

linux后台运行和关闭、查看后台任务
Linux 技巧:让进程在后台运行更可靠的几种方法
linux重定向及nohup不输出的方法

版权声明


本作品系原创, 转载须遵循 CC BY-NC-ND 4.0 许可协议
本文标题:Linux后台执行
本文链接:https://www.bunny.icu/archives/1082

推荐文章

发表评论

textsms
account_circle
email

bunny.icu

Linux后台执行
后台执行
扫描二维码继续阅读
2020-03-11