nohup运行python脚本_linux 下 Python 脚本后台执行(nohup command &)

linux 下 Python 脚本后台执行(nohup command &)

马富天

2020-03-16 10:29:01

50

【摘要】需求:很多时候我们会在 linux 服务器上执行 python 脚本,然而脚本程序执行的时间可能比较长,当耗时过长的情况下,我们使用 ssh 远程登录到 linux 服务器上容易造成超时自动断开连接,当用户注销时,终端会收到 hup(hangup)信号从而关闭其所有子进程,会导致正在执行中的 python 脚本被中断,为了解决这一问题,我们使用 nohup 命令并结合 & 解决此问题。

命令格式:nohup command &

nohup 指:在忽略挂起信号的情况下运行给定的命令,以便在注销后命令可以在后台继续运行;nohup 并不支持后台运行,它是忽略内部的挂断信号,不挂断运行

& 指:后台运行,即将进程放到后台运行,这里的后台,其实指的是当前登陆终端的后台,如果在命令尚未执行完毕时就退出登陆,则此命令的执行会被中断。

那么,如果将 nohup 与 & 结合在一起使用,这样就可以不挂断的永久在后台执行。

命令示例:(将 test.py 输出的内容写入到 test.out 文件中)nohup python -u test.py 参数1 参数2 参数3 > test.out 2>&1 &

其中 "2>&1" 表示:将错误和输出都传到 test.out 文件中,默认状态只把输出输出到文件中

如果去掉末尾的 '&' ,则表示此命令会在终端前台工作,所有输出的内容会写入到 test.out 文件。

实时查看 test.py 输出的内容:tail -f -n 20 test.out

这样就解决了 python 脚本执行耗时长,由于用户注销(挂起)而执行被中断的问题,同时也使程序在后台中执行。

顶1

踩0

我要打赏

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值