通过ssh在云主机后台运行程序技巧

一、screen使用

系统管理员常常需要SSH远程登录到Linux 服务器,常常运行一些需要很长时间才能完成的任务,列如训练模型、ftp等等。一般情况下我们都是为每一个这样的任务开一个远程终端窗口,由于它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

1、安装screen工具

ubuntu:

sudo apt install -y screen

centos:

sudo yum install -y screen

通过ssh在云主机后台运行程序技巧

ubuntu安装screen

2、语法

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]

screen –help  #查看协助

参数说明:

-A 将所有的视窗都调整为目前终端机的大小。

-d<作业名称> 将指定的screen作业离线。

-h<行数> 指定视窗的缓冲区行数。

-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。

-r<作业名称> 恢复离线的screen作业。

-R 先尝试恢复离线的作业。若找不到离线的作业,即建立新的screen作业。

-s<shell> 指定建立新视窗时,所要执行的shell。

-S<作业名称> 指定screen作业的名称。

-v 显示版本信息。

-x 恢复之前离线的screen作业。

-ls或–list 显示目前所有的screen作业。

-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。

3、常用命令

screen -S name  #创建一个名为name的session

screen -r name  #进入名为name的session

screen -ls      #查看当前服务器当中所有的session

screen -d name  #detach掉name的session

screen -d -r name  #结束当前session并回到yourname这个session

4、智星云平台中使用

通过ssh登录到linux云平台上

在终端创建screen的test作业,自动进入这个session,screem -S test

通过ssh在云主机后台运行程序技巧

执行screen -S test命令

在运行自己的命令,watch nvidia-smi

通过ssh在云主机后台运行程序技巧

在screen中执行命令

按ctrl+A+D退出这个session,回到主终端可以进行其他的操作

通过screen -ls查看后台任务

通过ssh在云主机后台运行程序技巧

screen 查看任务

如果想回到之前的session查看运行结果,就使用screen -r 10292.test重新进入。

二、ssh设置超时

1、服务端可以修改sudo vim /etc/ssh/sshd_config

找到下面两行内容并修改,并将注释符号(”#”)去掉,

ClientAliveInterval 0

ClientAliveCountMax 3

将ClientAliveInterval对应的0改成60,

通过ssh在云主机后台运行程序技巧

编辑sshd_config

通过ssh在云主机后台运行程序技巧

编辑sshd_config

ClientAliveInterval指定了服务器端向客户端请求消息 的时间间隔, 默认是0, 不发送。

ClientAliveInterval 60表明每分钟发送一次, 然后客户端响应, 这样就保持长连接了。

ClientAliveCountMax, 使用默认值3即可。

ClientAliveCountMax表明服务器发出请求后客户端没有响应的次数达到必定值, 就自动断开。

正常情况下, 客户端不会不响应。

保存文件,重起sshd服务:sudo systemctl restart sshd.service

2、客户端工具设置

CRT终端连接设置

右击Session中的连接,选择Properties->Terminal->Anti-idle->勾选Send protocol NO-OP

当已经建立连接的情况,可以通过上面方法,另外也可以通过点击Options->Session Options->Terminal->Anti-idle->勾选Send protocol NO-OP

选中之后,后面显示60秒是默认值,可对其进行增减,只要这个时间段小于自动断开连接的时间就可以了

通过ssh在云主机后台运行程序技巧

CRT设置

xshell终端连接设置,文件-> 属性

通过ssh在云主机后台运行程序技巧

xshell设置

MobaXterm客户端,那么需要在设置里点选setting>SSH>sessions setting>勾选ssh Keepalive

通过ssh在云主机后台运行程序技巧

MobaXterm设置

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容