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

nohup + & 命令实现后台不挂断地运行程序_第1张图片
红框中是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  //显示进程信息

你可能感兴趣的:(shell,linux,运维,服务器)