ssh 连接断开,正在执行的shell脚本也被中断了

背景

最近在训练chatGLM,一次训练经常要花掉近2个小时,但是由于网络不稳定,经常ssh莫名的断开,导致训练不得不重新开启,这就很浪费时间了
在这里插入图片描述

解决方案

下面教大家一种在后台执行命令的方案,即使你ssh连接断开,shell脚本也会在后台自己默默的去执行!

后台执行

首先,要在后台执行 shell 命令并将输出打印到文件中,可以使用重定向符号 “>” 将输出重定向到文件。例如,假设我们有一个名为 “command.sh” 的 shell 脚本,我们可以使用以下命令在后台执行并将输出打印到名为 “output.txt” 的文件中:

nohup command.sh > output.txt 2>&1 &  

这个命令的意思是:

  • nohup:用于在后台执行命令。
  • command.sh:要执行的 shell 脚本的名称。
  • > output.txt:将命令的输出重定向到名为 “output.txt” 的文件中。如果文件不存在,则会创建一个新文件;如果文件已存在,则会将新的输出附加到文件末尾。
  • 2>&1:将标准错误(2)与标准输出(1)合并,这样命令的错误输出也会被打印到文件中。
  • &:将命令放入后台执行。

查看日志

要查看 “output.txt” 文件中的内容,可以使用 tail 命令,例如:

tail -n 100 output.txt  

这个命令的意思是:从 “output.txt” 文件的末尾开始显示 100 行内容。tail 命令的选项 -n 表示显示的行数,-f 表示要显示的文件名。

正常在后台执行的程序是不会输出任何信息的,但是用了tail命令,你就能够在前台实时查看输出的日志了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值