一. 创建后台运行程序
方法一:&
脚本后面加&
如:
python test.py &
但是有一个问题就是你关闭终端连接后,脚本会停止运行。
方法二:nohup
使用&符号在后台执行命令或脚本后,如果你退出登录,这个命令就会被自动终止掉。要避免这种情况,你可以使用nohup(no hang up)命令,如下所示:
nohup python test.py &
nohup 命令默认将输出重定向到一个nohup.out的文件中。你也可以自己定义一个。例如:
nohup python test.py >myout.log 2>&1 &
其中2>&1 指将输出重定向到标准输出定向到的同名文件中,&1就是myout.log。&和1的结合就代表标准输出。最后一个&指让程序后台运行。
如上图,当成功提交进程以后,就会显示一个进程号,图中的8768,能利用它来监控进程,或者kill。
二. 查看
1. jobs
jobs -l
但是jobs命令只能查看当前终端生效的,另一个终端jobs就无法看到。这时可以用ps(进程查看命令)
2. ps
ps -aux|grep step0_preprocess #grep搜索我刚刚后台运行的
a:显示所有程序
u:以用户为主的格式来显示
x:显示所有程序,不以终端机来区分
三. 终止后台程序
kill
kill -9 8768 #8768为进程号