0


SSH关闭Liunx系统正常运行

一、需求

Linux

系统中,在执行一些运行时间比较长的任务时,必须等待执行完毕才能断开

SSH

连接或关闭客户端软件,否则可能会导致执行中断。本文介绍两种保障程序在您退出登录后持续运行的方法。

二、使用screen执行命令

GNU Screen

可以当做窗口管理器的命令行界面版本。只要

Screen

本身没有被终止,在其内部运行的会话都可以恢复,特别适合执行一些运行时间长的任务。
【1】安装

screen

工具:

Linux

系统默认没有

screen

工具,需要执行

yum install screen

先进行安装。

[root@iZbp1ge4ctw809v4lhhrnaZ~]# yum install screen
Last metadata expiration check:0:09:31 ago on Sun07Jan202403:32:02PMCST.
Dependencies resolved.=======================================================================================================================================================================================================================================================================================PackageArchitectureVersionRepositorySize=======================================================================================================================================================================================================================================================================================Installing:
 screen                                                             x86_64                                                             4.6.2-12.el8                                                             epel                                                             581 k

TransactionSummary=======================================================================================================================================================================================================================================================================================Install1PackageTotal download size:581 k
Installed size:955 k
Isthis ok [y/N]: y
DownloadingPackages:
screen-4.6.2-12.el8.x86_64.rpm                                                                                                                                                                                                                         9.0MB/s |581 kB     00:00---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Total8.8MB/s |581 kB     00:00ExtraPackagesforEnterpriseLinux8- x86_64                                                                                                                                                                                                         1.6MB/s |1.6 kB     00:00ImportingGPG key 0x2F86D6A1:Userid:"Fedora EPEL (8) <[email protected]>"Fingerprint:94E279EB8D8F25B21810ADF121EA45AB2F86D6A1From:/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8Isthis ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing:1/1Running scriptlet: screen-4.6.2-12.el8.x86_64                                                                                                                                                                                                                                    1/1Installing: screen-4.6.2-12.el8.x86_64                                                                                                                                                                                                                                    1/1Running scriptlet: screen-4.6.2-12.el8.x86_64                                                                                                                                                                                                                                    1/1Verifying: screen-4.6.2-12.el8.x86_64                                                                                                                                                                                                                                    1/1Installed:
  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

命令输出的值。

标签: ssh 运维 面试

本文转载自: https://blog.csdn.net/zhengzhaoyang122/article/details/135444626
版权归原作者 程序猿进阶 所有, 如有侵权,请联系我们删除。

“SSH关闭Liunx系统正常运行”的评论:

还没有评论