linux 后台运行python程序(前后台切换)

背景:最近在跑一个深度学习的程序,需要跑好几天。需要解决以下两个问题

  1. shell断开连接了程序也会一并结束;
  2. 程序运行会一直输出,能否实现“最小化”,以及从“最小化”恢复到前台继续输出结果。

为了解决这个问题,查阅了一下解决的方法。

针对第一个问题,可以使用nohup(not hang up)命令来解决。

$nohup python test.py

针对第二个问题,可以使用后台运行符号&,将进程转入后台运行

nohup python test.py &  在后台运行test.py
jobs 查看后台运行的进程
fg %n 让后台进程n转到前台
bg %n 让暂停运行的后台进程n继续运行
kill %n 杀死job 
ctrl+z 使前台正在运行的进程转到后台
ctrl+c 终止前台进程

具体用法

nohup python -u test.py > test.log 2>&1 &
# 2 输出错误信息到提示符窗口
# 1 表示输出信息到提示符窗口, 1前面的&注意添加, 否则还会创建一个名为1的文件
# 最后会把日志文件输出到test.log文件

其中-u 的作用是无缓存输出,即每有一行输出都直接写到test.log里面

在运行过程中使用一下命令可以查看输出

tail -f test.log # 实时输出
cat test.log # 全部输出

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值