产品推荐:
1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>;
2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>
3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>
4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>>
5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>
阿里云服务器ECS使用教程-Linux系统下如何保持进程在SSH客户端断开后仍继续运行? 本文介绍在Linux系统的ECS实例内,当断开SSH客户端后,如何保持进程继续运行的解决方案。 使用场景在Linux系统中,在执行一些运行时间比较长的任务时,必须等待执行完毕才能断开SSH连接或关闭客户端软件,否则可能会导致执行中断。本文介绍两种保障程序在您退出登录后持续运行的方法。 方法一:使用nohup执行命令nohup,可以使运行的命令忽略SIGHUP信号。因此,即使退出登录,程序仍旧会继续执行。通常情况下,在nohup命令尾部加上&字符,才能将命令放至后台执行。具体示例如下所示。 说明 nohup通常用于执行无干预的自动化程序或脚本,无法完成带有交互的操作。 执行如下命令,每秒输出一行信息。 系统显示类似如下。 
使用nohup执行命令。 在命令头尾分别加上nohup和&,可以看到nohup输出了一行信息,再Enter键就跳回了Shell命令行,此时命令已经在后台执行了,nohup将命令的输出重定向至当前目录的nohup.out文件中。同时,nohup会将对应程序的PID输出,PID可用于需要中断进程时结束进程。 说明 在命令中也可以使用重定向将程序的输出改为自己想要的文件名,如下所示,则程序的输出就会写到hello.log文件中。 nohup bash hello.sh >hello.log & 系统显示类似如下。  执行如下命令,可以持续的查看nohup.out的输出,达到监控程序的效果。 执行如下命令,结束进程。
方法二:使用screen执行命令GNU Screen一款由GNU计划开发的用于命令行终端切换的软件,可以当做窗口管理器的命令行界面版本。只要Screen本身没有被终止,在其内部运行的会话都可以恢复,特别适合执行一些运行时间长的任务。 安装screen工具。 Linux系统默认没有screen工具,需要先进行安装。 CentOS系列系统安装命令如下所示。 说明 CentOS 6与CentOS 8操作系统版本结束了生命周期(EOL),按照社区规则,CentOS 6/8的源地址内容已移除。当您在CentOS 6/8系统内继续使用默认配置的源地址时会发生报错。建议您先切换CentOS 6/8的源地址,然后再进行操作。具体操作,请参见CentOS 6 EOL如何切换源?和CentOS 8 EOL如何切换源? Ubuntu系列系统安装 sudo apt-get install screen
执行如下命令,创建screen窗口。 执行如下命令,列出screen窗口。 系统显示类似如下。 
当需要运行脚本、执行程序时,在命令前添加screen即可。 同时按Ctrl+a+d键,就可以退出SSH登录,但不会影响screen程序的运行。 需要继续工作时,登录实例,然后执行如下命令,恢复会话即可。
|