nohup + 命令实现后台不挂断地运行程序
nohup:
nohup:不挂断地运行程序,就是即便关闭终端的窗口,程序还会继续执行。
$ nohup python merge_reasons.py
可以看到终端仍在被占用,同级目录下生成了一个nohup.out文件,本来输出到终端的信息,输出到这个文件中
程序运行时,如果Ctrl+c,程序会终止
&
如果想要不占用终端,让它默默在后台运行,需要使用 & 命令
&:让程序在后台运行,不占用终端
$ nohup python merge_reasons.py &
[1] 78006代表有一个进程,序列号(PID)为78006
这时,即便在终端Ctrl+c,程序也不会终止,因为这个程序在后台运行(&),跟终端没关系了,现在关掉终端也不影响程序的运行,因为它不挂断(nohup)
重定向
如果想让终端输出的信息重定向到其他文件,而不是输出到nohup.out, 可以指定文件:
$ nohup python merge_reasons.py > a.log &
终端输出的信息会保存到py程序同目录下的a.log文件中
kill
如果想要终止程序:
kill -9 [PID]
kill命令格式:
kill -Signal pid
Linux Signal信号表
( kill [pid] == kill -15 [pid] )
ps
如果想要查看服务器上所有进程
$ ps -aux
红框中是PID,查到PID,可以用来 kill
ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。Linux ps 命令
相关命令:
查找指定进程格式
ps -ef | grep 进程关键字
eg:
ps -ef | grep merge
ps -ef //显示所有命令,连带命令行
ps -u root //显示root进程用户信息
ps -A //显示进程信息