远程连接linux服务器跑程序,如果本地电脑关机,linux服务器程序也会断掉,解决方法

本文介绍了在远程连接Linux服务器时,如何确保程序在本地电脑关闭后仍能继续运行。通过使用nohup命令或screen工具,可以避免SIGHUP信号导致的程序中断。nohup可以使程序忽略挂断信号并在后台运行,而screen则提供了一个虚拟终端,允许用户在多个会话间切换,即使关闭远程连接,程序也能持续执行。
摘要由CSDN通过智能技术生成

远程连接Linux服务器跑程序,如果本地电脑关机,linux服务器程序也会断掉,这是因为断开连接后,终端会收到SIGHUP(hang-up 挂断)信号从而关闭该会话期的子进程。

有几种方法可以解决这个问题:
1. 使用nohup命令,在命令前加上nohup,并在命令后加上&符号,使程序在后台运行,并忽略SIGHUP信号1。例如:nohup ping 127.0.0.1 &。nohup会将程序的输出重定向到当前目录或$HOME目录下的nohup.out文件中。
2. 使用screen命令,创建一个虚拟终端,并在其中运行程序2。例如:screen -S name创建一个名为name的虚拟终端,然后在其中运行程序。如果要退出虚拟终端,可以按下Ctrl+A+D组合键。如果要重新进入虚拟终端,可以使用screen -r name命令。
3. 使用Ctrl+Z组合键将程序暂停,并使用bg命令将其放入后台运行。例如:运行了python tt.py这个程序,按下Ctrl+Z暂停它,然后输入bg %1将其放入后台运行。

这里使用的是第二种方法

screen -S name

在这里插入图片描述
打开了新的终端
在这里插入图片描述
激活环境
在这里插入图片描述
打开visdom
在这里插入图片描述
再打开一个会话,重复刚才的步骤,训练网络
在这里插入图片描述
然后将远程连接关闭
重新打开远程连接,输入

在这里插入图片描述
打开一个新的会话,再输入
在这里插入图片描述
发现都在继续运行,结束!
screen关闭指令

1. Ctrl + A, Ctrl + \ - 退出screen并终止所有在screen中运行的程序。这个命令适合在需要关闭一个tty连接的情况下使用。
2. Ctrl + D, D 或者 Ctrl + A, Ctrl + D - “最小化” screen并让它在后台运行。这个命令适合在需要暂时离开screen但不想关闭它的情况下使用。可以用screen -r来恢复它。
3. Ctrl + A, Q - 关闭除当前区域以外的所有区域。
4. Ctrl + A, X - 关闭当前区域。
当有两个相同的会话名称

There are several suitable screens on: 
145282.name (03/09/2023 07:23:56 AM) (Detached) 
130910.name (03/08/2023 01:00:00 PM) (Detached) 

方法

screen -d -r 145282.name
Ctrl + A, Ctrl + \ (或者输入exit)
screen -d -r 130910.name
Ctrl + A, Ctrl + \ (或者输入exit)
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值