让Linux关闭终端(关闭SSH等)后,程序继续运行

关于为什么关闭终端后,程序会终止,可以查看这篇博文:https://blog.csdn.net/gatieme/article/details/52777721

参考2,linux后台执行命令:&和nohup:https://blog.csdn.net/liuyanfeier/article/details/62422742

大概就是,终端关闭后,系统会发送一个SIGHUP(挂断信号),自动地终止在当前会话中运行的程序。

解决方法:

1 . 使用nohup命令

nohup command > myout.file 2>&1 &  # 将日志输出到myout.file文件中
nohup command & # 会在当前目录下创建一个nohup.out文件,记录程序运行时在终端产生的输出

2 . 使用 screen命令

step1:按screen,回车进入子界面
step2:./single_model_train_val.sh  运行程序
step3:按ctrl+a再按d,程序会在关闭终端后继续运行
这样暂停了子界面,会显示[detached]的字样,这时候 我回到了父界面;
[detached from 26454.pts-1.A01-R04-I231-16-7280278]
step4:screen -ls  查看子页面信息,.pts前面数字为子页面序号。

(pytorch-v0.3) [root@A01-R04-I231-16-7280278 Consumer]# screen -ls
There are screens on:
        26454.pts-1.A01-R04-I231-16-7280278     (Detached)
        769.pts-1.A01-R04-I231-16-7280278       (Detached)
2 Sockets in /var/run/screen/S-root.
26454是主界面的序号,769是子界面的序号。

step5:screen –r 子页面序号,这时候就回到之前程序运行的序号。

# 但是实际中我遇到一个问题,在子界面中激活我自己创建的conda环境,环境变量和主界面不一样。
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值