程序在后台运行
有些程序我们在打开时,会一直占用我们的终端,而且终端还不能关掉,所以这时候我们就需要让程序在后台运行有些程序我们在打开时,会一直占用我们的终端,而且终端还不能关掉,所以这时候我们就需要让程序在后台运行。
1.命令:
nohup python -u run.py > run.log 2>&1 &
参数说明:
run.py: 你需要后台运行的程序.
>: 日志文件追加到文件中
run.log: 运行的日志,或你的文件的输出内容.
& 是一个描述符,如果1或2前不加&,会被当成一个普通文件。
1>&2 意思是把标准输出重定向到标准错误. 2>&1 意思是把标准错误输出重定向到标准输出。
&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中
这条命令的意思是,执行run.py程序,并把程序中执行的情况记录到run.log文件中,包括程序异常、程序中打印的信息等。
2.若直接使用下面命令呢?
nohup python run.py &
这样运行,在run.py的目录默认直接生成了nohup.out文件,但是内容始终是空的.
原因如下:
python的输出又缓冲,导致out.log并不能够马上看到输出。
-u 参数,使得python不启用缓冲。
解决:
nohup python -u run.py > run.log 2>&1 &
如果权限不够的话就 nohup sudo python -u flush.py > flush.log2>&1 &
停止后台运行的py文件:
https://www.cnblogs.com/Uriel-w/p/16035211.html
本文作者:Uriel-w
本文链接:https://www.cnblogs.com/Uriel-w/p/16035125.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步