学派吧-Linux/centos中SSH客户端断开后保持进程继续运行配置方法的具体教程

在云服务器 ECS Linux 系统中,通常我们在执行一些运行时间比较长的任务时,必须等待执行完毕才能断开 SSH 连接或关闭客户端软件,否则可能会导致执行中断。本文介绍几种保障程序在用户退出登录后持续运行的方法。

使用管理终端执行

通过 管理终端 会登录服务器的本地会话(console)口,在该终端执行的程序不会受到 SSH 登录用户退出的影响。具体操作方式如下:

1. 通过 管理终端 登录服务器。

2. 执行所需程序或脚本。

3. 下次需要查看任务执行状态时,再次连接管理终端查看即可。

使用 nohup 执行

nohup 的作用顾名思义,它使得后面的命令不会响应挂断(SIGHUP)信号。也就是说,通过远程登录执行 nohup 后,即使退出登录后,程序还是会正常执行。通常情况下,nohup 命令最后会跟上 & 字符,表示将这个命令放至后台执行,这样才能真正做到将这个命令放至后台持续的执行。

操作示例:
1. 正常的执行命令为 bash hello.sh,执行结果为每秒输出一行的小程序:

z1-1.png

2. 在命令头尾分别加上 nohup 和 &,变为 nohup bash hello.sh &,可以看到 nohup 输出了一行信息,再按一下回车键就跳回了 shell 命令行,此时命令已经在后台执行了,nohup 将命令的输出重定向至当前目录的 nohup.out 文件中。同时注意到 nohup 会将对应程序的 PID 输出,PID 可用于需要中断进程时 kill 进程。

z1-2.png

3. 通过 tail -f nohup.out 可以持续的查看 nohup.out 的输出,达到监视程序的效果。

z1-3.png

4. 在命令中也可以使用重定向将程序的输出改为自己想要的文件名,如 nohup bash hello.sh >hello.log &,则程序的输出就会写到 hello.log 文件中。

5. 若程序不会自动退出,那么此时需要使用 kill 命令来结束进程。比如,可以使用命令 kill -TRM <PID> 来操作,其中 PID 即为之前 nohup 输出的值,在此例中该值为 1231。

使用限制:

nohup 通常用于执行无干预的自动化程序或脚本,无法完成带有交互的操作。

使用 screen 执行

安装 sceen 工具

Linux 系统默认未自带 screen 工具,需要先进行安装:

  • CentOS 系列系统: yum install screen

  • Ubuntu 系列系统: sudo apt-get install screen

使用简介

1. 创建 screen 窗口

screen -S  name
# name可以设置为ssh、ftp,用于标注该 screen 窗口用途
# 示例:screen -S ftp

2. 列出 screen 进程,并进入所需 screen

screen -ls  ##列出 screen 进程列表

如下图
1.png

然后进行所需操作,比如运行脚本、执行程序等等。

如下图示例:创建ftp连接后台下载传输文件

1.png

3. 退出保存

前述 ftp 操作示例开始传输后,在窗口中键入Ctrl+a 键,再按下 d 键,就可以退出 SSH 登录,但不会影响 screen 程序的执行。

4. 保存会话以便继续执行

可以利用 screen 这种功能来管理的远程会话。操作步骤概述:

  • 正常 SSH 登录服务器

  • 创建 screen 窗口

  • 执行所需任务

  • 需要临时中断退出时,按 Ctrl +d 保存退出

  • 需要继续工作时,再次 SSH 登录服务器,然后直接执行 screen -r -d 恢复会话即可。

以上就是Linux中SSH客户端断开后保持进程继续运行配置方法的具体介绍的详细内容,更多请关注学派吧其它相关文章!

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/2539.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2018年12月12日 下午10:13
下一篇 2018年12月12日 下午10:13

相关推荐

  • 腾讯云通过Docker 搭建 WordPress

    阿里云腾讯云Docker 搭建 WordPress 本教程介绍如何使用宝塔面板的 Docker 模块快速搭建 WordPress 网站。通过 Docker 容器化部署,可以实现环境隔离、便捷管理和快速迁移。 前置条件​ 操作步骤​ 1. 安装 Docker​ 点击左侧菜单栏中的 Docker,如果尚未安装,点击 安装 Docker&nbs…

    2026年1月5日
    47700
  • 学派吧-Linux下如何实现C++操作Mysql数据库的详细介绍-linux教程

    由于工作需要抽出一周的时间来研究C/C++访问各种数据库的方法,并打算封装一套数据库操作类,现在奉上最简单的一部分:在Linux下访问MySQL数据库。 想用C++写项目,数据库是必须的,所以这两天学了一下C++操作MySQL数据库的方法。也没有什么教程,就是在网上搜的知识,下面汇总一下。 连接MySQL数据库有两种方法:第一种是使用ADO连接,不过这种只适…

    2019年1月1日
    2.2K00
  • 宝塔微擎开启redis缓存实战教程

    各位看官大家牛年大吉,继上年做了一期微擎开启redis缓存实战教程,有小伙伴们私信或者发帖说能不能提供一篇基于端口多实例的教程,满足!开门见山,风生水起基于多端口实现redis多实例:1、打开面板安装redis,并配置好使用的最大内存,我的机器配置是4G内存,这里选择了512M内存供redis使用,配置好后重启redis(如果是生产环境,请自己斟酌是否可以重…

    2021年5月30日
    3.0K00
  • 阿里云腾讯云新手宝塔搭建Moltbot(原Clawdbot)部署+反代+WebAuth

    这两天,Clawdbot 在技术圈突然爆火,不少人已经开始在服务器上尝鲜部署。但真正跑起来之后才发现,Web 控制台、HTTPS、安全访问这些问题一个都绕不开。这篇文章就简单记录一下 Clawdbot 的部署过程,以及如何通过宝塔面板做反向代理并加一层 Web Auth,让它用起来方便,也更安全 先购买一台服务器、推荐阿里云、腾讯云、下面是优惠活动入口 安装…

    2026年1月27日
    99300
  • 阿里云centos如何挂载NAS文件系统教程分享

    今天给一个阿里云客户挂载了NAS文件分享系统、也挂了好久。。重启老掉。。最后发现是买的极速型NAS。。郁闷啊。。   下面开始配置 1.阿里云购买NAS文件存储系统  (推荐阿里云代理 QQ 690624价格优惠) 购买后挂载地址为 1301dxxxx-crk30.cn-beijing.nas.aliyuncs.com 2.centos 安装NFS…

    服务器运维 2019年5月11日
    6.1K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----