SSH会话结束后保持进程运行

SSH会话结束后保持进程运行,第1张

进程组(process group):

 搭液     一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。

会话期(session):

      一个或多个进程组的集合,有唯一一个会话期首进程(session leader)。会话期ID为首进程的ID。会话期可以有一个单独的控制终端(controlling terminal)。与控制终端连接的会话期首进程叫做控制进程(controlling process)。当前与终端交互的进程称为前台进程组。其余进程组称为后台进程组。

1. 挂断信号(SIGHUP)默认的动作是终止野耐程序。

2. 当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。

3. 如果会话期首进程终止,则该信号发送到该会话期前台进程组。

4. 一个进程知脊物退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程。

5. 因此当网络断开或终端窗口关闭后,控制进程收到SIGHUP信号退出,会导致该会话期内其他进程退出。

      如果我们可以忽略SIGHUP信号,关掉窗口应该就不会影响程序的运行了。nohup命令可以达到这个目的,如果程序的标准输出/标准错误是终端,nohup默认将其重定向到nohup.out文件。值得注意的是nohup命令只是使得程序忽略SIGHUP信号,还需要使用标记&把它放在后台运行。

通过ssh远程登录linux系统的方法:

1、在需要远程访问的计算机的“新立得”里面安装openssh-server。这台计算机是远程计算机,你当前使用的计算机是本地计算机。如果使用Ubuntu或者其他Linux版本,已经安装了连接到远程计算机的软件。

2、远程计算机软件安装完毕。在本地计算机的终端里面输入:

ssh username@address

其中username是远程计算机的账户名称,address是远程计算机的IP地址或者域名。

平日你希望以keir登录192.168.1.2,可以使用:核唯

sssh keir@192.168.1.13

如果不知道远程计算机的IP地址,可以在远程计算机上面点击网络监视器,选择“连接信息”,查看IP地址信息。

3、首次连接,可能提示“the authenticity of the host can’t be established”。没有关系,回答yes进行连接,输入密码即可。

4、如果你登录一个标准的Shell会话,命令行提示符是“用户名@远程计算机的名称”。

如果希望通过SSH运行图形程序,可以使用:

ssh -X username@address

连接以后,输入程序的名称即可。譬如,启动gedit,输入gedit即可。另外注意,尽管程序出现在你的计算机上面,但是它依然是运行在远程计算机上面。如果启动OpenOffice或者其他复杂的图形程序,可能有一段时间的延迟。

另外一个SSH连接的用途是传输文件。sftp命令可以实现这个功能谨氏岩。用sftp连接到远程计算机,就可以像登录了一个ftp服务器一样。另外还可以在Nautilus里面使用sftp,在Nautilus的地址栏里面输入:sftp://address,系统会提示用户名和密码。连接完成,就可以在Nautilus里面拷贝祥御/删除文件了。

这样就连上服务器了。

如毕虚果报错

events.js:160

throw er// Unhandled 'error' event

可能是之前的进程没杀掉,需要杀掉进程

然后重新运行第4步即可

pm2 是专门管理贺桐node进禅数坦程的,他可以让你的应用永久存活,

Listing all running processes:

Managing your processes is straightforward:

To make sure it re-evaluates enviroment variables declared in your json_conf pass it as argument, and optionally your custom env name from your json_conf if any:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12246934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存