SSH关闭Liunx系统正常运行
时间:2024-04-03 21:15:38 来源:网络cs 作者:峨乐 栏目:卖家故事 阅读:
一、需求
在Linux
系统中,在执行一些运行时间比较长的任务时,必须等待执行完毕才能断开SSH
连接或关闭客户端软件,否则可能会导致执行中断。本文介绍两种保障程序在您退出登录后持续运行的方法。
二、使用screen执行命令
GNU Screen
可以当做窗口管理器的命令行界面版本。只要Screen
本身没有被终止,在其内部运行的会话都可以恢复,特别适合执行一些运行时间长的任务。
【1】安装screen
工具:Linux
系统默认没有screen
工具,需要执行yum install screen
先进行安装。
[root@iZbp1ge4ctw809v4lhhrnaZ ~]# yum install screenLast metadata expiration check: 0:09:31 ago on Sun 07 Jan 2024 03:32:02 PM CST.Dependencies resolved.======================================================================================================================================================================================================================================================================================= Package Architecture Version Repository Size=======================================================================================================================================================================================================================================================================================Installing: screen x86_64 4.6.2-12.el8 epel 581 kTransaction Summary=======================================================================================================================================================================================================================================================================================Install 1 PackageTotal download size: 581 kInstalled size: 955 kIs this ok [y/N]: yDownloading Packages:screen-4.6.2-12.el8.x86_64.rpm 9.0 MB/s | 581 kB 00:00 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Total 8.8 MB/s | 581 kB 00:00 Extra Packages for Enterprise Linux 8 - x86_64 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0x2F86D6A1: Userid : "Fedora EPEL (8) <epel@fedoraproject.org>" Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8Is this ok [y/N]: yKey imported successfullyRunning transaction checkTransaction check succeeded.Running transaction testTransaction test succeeded.Running transaction Preparing : 1/1 Running scriptlet: screen-4.6.2-12.el8.x86_64 1/1 Installing : screen-4.6.2-12.el8.x86_64 1/1 Running scriptlet: screen-4.6.2-12.el8.x86_64 1/1 Verifying : screen-4.6.2-12.el8.x86_64 1/1 Installed: screen-4.6.2-12.el8.x86_64 Complete!
【2】执行screen -S [$Name]
命令,创建screen
窗口。 如果已存在screen
连接,执行Screen _R xxxname
恢复
screen -S myblog
【3】当需要运行脚本、执行程序时,在命令前添加screen
即可。
screen npm run docs:dev
【5】同时按Ctrl+a+d
键,就可以退出SSH
登录,但不会影响screen
程序的运行。
【6】需要继续工作时,登录实例,然后执行screen -r -d
命令,恢复会话即可。
使用nohup执行命令
nohup
可以使运行的命令忽略SIGHUP
信号。因此,即使退出登录,程序仍旧会继续执行。通常情况下,在nohup
命令尾部加上&
字符,才能将命令放至后台执行。具体示例如下所示:在命令头尾分别加上nohup
和&
,可以看到nohup
输出了一行信息,再Enter
键就跳回了Shell
命令行,此时命令已经在后台执行了,nohup
将命令的输出重定向至当前目录的nohup.out
文件中。同时,nohup
会将对应程序的PID
输出,PID
可用于需要中断进程时结束进程。
[root@iZbp1ge4ctw809v4lhhrnaZ project]# nohub npm run docs:dev &[1] 35432
执行tail -f nohup.out
命令,可以持续的查看nohup.out
的输出,达到监控程序的效果。 执行kill -TRM [$PID]
命令,结束进程,[$PID]
为之前nohup
命令输出的值。
本文链接:https://www.kjpai.cn/gushi/2024-04-03/153597.html,文章来源:网络cs,作者:峨乐,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
上一篇:web学习笔记(三十)
下一篇:返回列表