Linux下后台运行Python脚本

Linux下后台运行Python脚本

在PyCharm中写完py代码之后,我们可能会有需求让自己的代码一直运行

方法

1. 一般用SSH连接到远程服务器后我们会使用python3 filename.py 来运行py代码,
2. 但是上述这种情况我们运行命令的session属于SSH的子进程,当断开SSH后子进程也会被终止
3. 使用 nohup python3 -u save_excel.py > test.log 2>&1 & 来使我们的程序能够在后台一直运行
  • nohup: no hang up 指不挂起
  • -u: 表示不启用缓存,实时输出打印信息到日志文件
  • 2>&1: 表示将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)
  • &: 指后台运行程序
  • > test.log: 指将打印信息输出到test.log这个日志文件

Tips

1. 运行完上述命令后会出现 一个进程的PID 号
2. 使用 ps -ef|grep 10031   # 注意这里的10031要替换成真实的进程号
3. 接着就能看到该进程的信息
4. 使用 kill -s 9 10031 来杀掉该进程

PS

把ps的查询结果通过管道给grep查找包含特定字符串的进程。管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。
ps -ef | grep python3  这样来查询进程的PID会更快
----------------------
ps -aux 查看所有进程的信息

你可能感兴趣的:(Linux入门,Python)