欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python后台运行-nohup

程序员文章站 2024-02-02 21:39:52
...

在终端运行python脚本时,如果脚本需要长时间运行,则终端不能关闭或者断网,否则运行的程序就会中断。此时就需要在linux后台启动进程。
示例如下:

nohup python my.py >> /usr/local/python/xxf/my.log 2>&1 &
nohup tomcat.sh > /dev/null 2>&1 &
  • nohup命令
    nohup指不断地运行,是no hang up的缩写,指不间断,不挂断。运行一个进程的时候,不想让其在你退出账号时关闭,即可用nohup。
    nohup在不规定的情况下,所以输出内容会到nohup.out中
  • 2>&1
    0 表示stdin标准输入,用户键盘输入的内容
    1 表示stdout标准输出,输出到显示屏的内容
    2 表示stderr标准错误,报错内容
    2>&1是一个整体,>左右不能有空格,即将错误内容重定向输入到标准输出中去。
  • &
    &为后台运行
    第一条代码,以python环境不间断的运行my.py这个脚本,并且将脚本输出的内容重定向输入my.log中(>>意为追加,如果用>会让其中的内容清空)
    my.py >> my.log 和my.py 1>>my.log相同,只是1(标准输入)被省略了,而后面的my.log 2>&1 又将2(错误内容)输入到标准输出,然后前面的标准输出又输入到my.log中,意思错误和标准内容都会输出到my.log中,其实代码可拆成两块
nohup python my.py 1>> /usr/local/python/xxf/my.log &
nohup python my.py 2>> /usr/local/python/xxf/my.log &