RAKsmart:Linux SSH 客户端断开后保持进程继续运行配置方法
Linux 系统中,通常我们在执行一些运行时间比较长的任务时,必须等待执行完毕才能断开 SSH 连接或关闭客户端软件,否则可能会导致执行中断。本文介绍几种保障程序在用户退出登录后持续运行的方法。
使用管理终端执行
通过 管理终端(IPMI等) 会登录服务器的本地会话,在该终端执行的程序不会受到 SSH 登录用户退出的影响。具体操作方式如下:
通过 管理终端(IPMI等) 登录服务器。
执行所需程序或脚本。
下次需要查看任务执行状态时,再次连接管理终端查看即可。
使用 nohup 执行
nohup 的作用顾名思义,它使得后面的命令不会响应挂断(SIGHUP)信号。也就是说,通过远程登录执行 nohup 后,即使退出登录后,程序还是会正常执行。通常情况下,nohup 命令最后会跟上 & 字符,表示将这个命令放至后台执行,这样才能真正做到将这个命令放至后台持续的执行。
操作示例:
- 正常的执行命令为 bash hello.sh,执行结果为每秒输出一行的小程序:
- 在命令头尾分别加上 nohup 和 &,变为 nohup bash hello.sh &,可以看到 nohup 输出了一行信息,再按一下回车键就跳回了 shell 命令行,此时命令已经在后台执行了,nohup 将命令的输出重定向至当前目录的 nohup.out 文件中。同时注意到 nohup 会将对应程序的 PID 输出,PID 可用于需要中断进程时 kill 进程。
3. 通过 tail -f nohup.out 可以持续的查看 nohup.out 的输出,达到监视程序的效果。
4. 在命令中也可以使用重定向将程序的输出改为自己想要的文件名,如 nohup bash hello.sh >hello.log &,则程序的输出就会写到 hello.log 文件中。
- 若程序不会自动退出,那么此时需要使用 kill 命令来结束进程。比如,可以使用命令 kill -TRM 来操作,其中 PID 即为之前 nohup 输出的值,在此例中该值为 1231。
使用限制:
nohup 通常用于执行无干预的自动化程序或脚本,无法完成带有交互的操作。
使用 screen 执行(推荐)
安装 sceen 工具
Linux 系统默认未自带 screen 工具,需要先进行安装:
CentOS 系列系统: yum install screen
Ubuntu 系列系统: sudo apt-get install screen
使用简介
创建 screen 窗口
screen -S name
name可以设置为ssh、ftp,用于标注该 screen 窗口用途
示例:
列出 screen 进程,并进入所需 screen
screen -ls
##列出 screen 进程列表
如下图
然后进行所需操作,比如运行脚本、执行程序等等。
如下图示例:创建ftp连接后台下载传输文件
- 退出保存
前述 ftp 操作示例开始传输后,在窗口中键入Ctrl+a 键,再按下 d 键,就可以退出 SSH 登录,但不会影响 screen 程序的执行。
- 保存会话以便继续执行
可以利用 screen 这种功能来管理的远程会话。操作步骤概述:
正常 SSH 登录服务器
创建 screen 窗口
执行所需任务
需要临时中断退出时,按 Ctrl +d 保存退出
需要继续工作时,再次 SSH 登录服务器,然后直接执行 screen -r -d 恢复会话即可。
文章来源:http://www.raksmart.com/56.html
RAKsmart:Linux SSH 客户端断开后保持进程继续运行配置方法相关推荐
- linux ssh客户端_WinSCP软件双系统(Win-Linux)文件传输教程
WinSCP软件是windows下的一款使用ssh协议的开源图形化SFTP客户端,也就是一个文件传输的软件,它有什么优点吗,咱们嵌入式开发中经常会将windows中的文件复制到linux系统当中,比较 ...
- linux ssh客户端乱码,Win10专业版下Open ssh客户端乱码咋办?
微软早在2015年就宣布 Windows将原生支持SSH.SSH是Linux上流行的远程访问和管理工具,Windows此前没有相比拟的类似简单工具.现在OpenSSH客户端终于引入到 Windows ...
- 解决linux ssh客户端SSH连接linux服务器很慢的问题
在linux上使用ssh客户端连接另一台的linux服务器时,出现了连接慢的情况.但是换一台客户端去连发现速度正常.推测ssh客户端出现为问题. 于是使用使用ssh -v IP 调试,果然发现问题. ...
- linux dhclient源码 多进程,重启虚拟机后dhclient进程未运行解决办法
问题分析 重启虚拟机后,dhclient进程未运行的根因通常为: 1.NetworkManager未开启自启动导致的dhclient进程未运行 2.网卡设置未纳入NetworkManager管理导致的 ...
- linux ssh连接 出现 Host key verification failed 错误 解决方法
错误现象: [root@cache001 swftools-0.9.0]# ssh 192.168.1.90 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- 实战解读丨Linux下实现高并发socket最大连接数的配置方法
摘要:Linux操作系统,无论是编写客户端程序还是服务端程序,在高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制. [诉求场景] Linux操作系统,无论是编写 ...
- Linux系统的NTFS驱动-NTFS-3g的安装和配置 - 方法综合
NTFS-3g是一个开源软件,它支持在Linux下面读写NTFS格式的分区.它非常的快速,同时也很安全.它支持Windows 2000.XP.2003和Vista,并且支持所有的符合POSIX标准的磁 ...
- Linux下SSH远程连接断开后让程序继续运行解决办法
screen -S yourname #新建一个叫yourname的session screen -r yourname #回到yourname这个session screen -X -S [your ...
- linux ssh客户端_Linux终端连接Linux服务器
我们经常需要通过类UNIX下连接我们的Linux服务器.比如我的Mac下经常需要连接上Linux服务器.一般系统都提供了ssh支持,可以直接连接: 通过命令: ssh root@120.25.12.9 ...
最新文章
- 毛慧昀:决策树实现对鸢尾花数据集的分类
- 李铁军教授专访:当数学家遇见人工智能
- python去掉字符串开头的零_Python / Pandas-删除以字符串开头的列
- 搜索引擎提交软件_增加SEO超级外链须知的高权重网站目录提交方法
- 7-1 FireTruck 消防车 uva208
- javax.validation.ValidationException: Unable to find a default provider
- 实例1:python
- python 数据库驱动开发实例_Python驱动概述
- Glibc 和 uClibc的区别
- 几个简单的OpenCV程序
- 吴恩达深度学习1.2练习_Neural Networks and Deep Learning
- php如何定义和使用常量,PHP中如何定义和使用常量_PHP教程
- (对比PDF)Adobe Acrobat DC 离线对比PDF、draftable.com/compare 在线对比PDF
- ubuntu16.04中ROS-Kinetic报错: not find a package configuration file provided by “gazebo_ros_control“
- 在QGraphicsScene中嵌入QWidget
- 什么软件能做英语测试卷听力,英语听力app哪个好用-什么英语听力软件最好
- 凯恩帝绝对坐标清零_凯恩帝系统加工件数自动清零怎么设置
- STM32——时钟、HSE、旁路模式、有源晶振
- 36. 有效的数独(技巧)
- word插入脚注后最后一页多了一个分页符(下一页),导致最后多了一个空白页,删除不掉。
热门文章
- 【无标题】A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Pl
- java二进制保存图片_JAVA高级特性——二进制存储图片
- 刚刚,中国电子学会给阿里云飞天颁发了15年来首个特等奖
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(三)技能标签(Ability Tags)
- 详细讲解vue2组件通信(一)——父传子props
- 计算机考试机试题目word文档,计算机考试 word
- 安卓机如果相册不选图片就退出_微商相册如何在「多台设备登录」?
- 创业公司怎样才能有效的进行员工股权激励
- mac命令行压缩解压rar文件
- 百度年龄计算机在线使用,百度精准年龄计算器在线计算app