Fork me on GitHub

壹:

最近用python搭建一个物联网数据存储的微服务,部署到ubuntu上去,所以,python后台运行是一个必不可少的环节。

贰:

这个只需要是一个命令即可:

命令1(记录所有日志): nohup python -u udp_server.py > test.log 2>&1 &
命令2(只记录错误日志):nohup python -u udp_server.py >/dev/null 2>error.log 2>&1 &
命令3(不记录任何日志):nohup python -u udp_server.py >/dev/null 2>&1 &

命令解析:

nohup 不挂断的意思
python udp_server.py 服务器的启动脚本

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

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

2>1 2与> 结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;

2>&1 换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

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

叁:

查看后台进程:

ps aux |grep python
#或者
ps -ef | grep python

 肆:

当你直接关闭窗口(如crt的SSH连接窗口)的时候,后台程序依然会被关掉,经过多方查证造成这一现象的原因是没有正确退出!按照下方步骤即可成功挂在后台。​​​​​

nohup python test.py >nohup.out 2>&1 &

回车
输入exit命令退出终端
窗口显示login out即可关闭shell

 
posted on 2023-01-31 16:33  虚生  阅读(1346)  评论(0)    收藏  举报