centos python程序后台运行

在服务器上,为了退出终端,程序依然能够运行,需要设置程序在后台运行。

关键的命令:nohup

基本用法:
进入要运行的py文件目录前

nohup python3 -u test.py > test.log 2>&1 &

含义解释:
nohup 不挂起的意思
python test.py python运行test.py文件

-u 代表程序不启用缓存,也就是把输出直接放到log中,没这个参数的话,log文件的生成会有延迟

>test.log 将输出日志保存到这个log中

2>1 2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;
2>&1 换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

& 最后一个& ,代表该命令在后台执行

不启用日志

nohup python3 -u test.py 1>/dev/null 2>&1 &

命令运行后会有提示,示例:
[1] 2880

代表进程2880中运行。

查看nohub命令下运行的所有后台进程:
jobs
查看后台运行的所有进程:

ps -aux

查看后台运行的所有python 进程:

ps aux |grep python

或者

ps -ef | grep python

删除进程

kill -9 [进程id]

-9 的意思是强制删除

你可能感兴趣的:(centos python程序后台运行)