nohup python my.py >> my.log 2>&1 &
代码解释:
- nohub: not hang up,在运行进程时若不想让进程在退出远程连接时关闭使用此命令,在未规定情况下默认将输出输出至nohup.out
- 0表示标准输入,即用户键盘输入;1表示标准输出,即输出至显示屏的内容;2表示标准错误,即保存内容
- 2>&1表示将错误内容重定向输入到标准输出中,&用以判别不为输入至名为1的文件
- &表示后台运行
- 综上,上述代码意义为在后台将my.py的错误输出和标准输出输出至my.log中
Linux中与后台运行相关的常用命令:
- ctrl+z: 将当前前台运行的进程转至后台,并将其暂停
- jobs: 查看当前在后台执行的进程
- fg %n: 将后台中运行的命令调至前台运行
- bg %n: 将后台中暂停运行的命令继续运行
- kill %n: 结束后台运行的命令n
注意:在退出连接再进行连接时使用jobs指令无法显示出后台运行的指令,需要使用 #ps -ef| grep 指令名称 进行查找
参考链接:
1. Python后台运行—nohup及2>&1详解
2. linux 下后台运行python脚本
Comment