如何让你的cpp服务器在SSH 断开后使进程仍在后台运行
如何让你的cpp服务器在SSH 断开后使进程仍在后台运行
前言本文目的
正文1.方法: 使用 nohup 命令:2.那么问题又来了,把程序运行到后台了,你要如何关掉./my-project-exe呢?
如果0基础,可以使用现有的框架搭建自己的博客网站每日反思
前言
现在是2023-11-30 19:47 ,一晃一年又过去了,谁能想象一年前还是2022-11-30 19:48!!!
本文目的
如何让你关掉Xshell后 , 你使用ssh连接的远程阿里云服务器上运行的cpp服务器还在正常运行?
正文
1.方法: 使用 nohup 命令:
nohup your_command &
这会将 your_command 放入后台,并且使用 nohup 命令可以使其在你断开SSH连接后继续运行。输出将会追加到一个名为 nohup.out 的文件中,该文件将位于你运行命令的目录中。
例子:
nohup ./my-project-exe &
提问: 后面那个&可以去掉吗?答:no!不可以去掉 !
在Linux或Unix系统中,& 符号用于将命令放入后台运行。如果你执行 nohup ./my-project-exe,该命令将在后台运行,但是如果你关闭终端或SSH连接,该进程可能会收到 SIGHUP 信号并终止。(不信?你就试一下呗,我试了,情况属实!)通过添加 &,你告诉系统将该命令放入后台,并且即使你关闭终端或SSH连接,该进程也会继续运行。因此,& 是确保进程在后台持续运行的重要部分。所以,如果你想要确保你的进程在你退出SSH会话后继续运行,应该保留 &。
2.那么问题又来了,把程序运行到后台了,你要如何关掉./my-project-exe呢?
如果你想停止运行 ./my-project-exe 进程,可以使用 kill 命令。首先,你需要找到该进程的进程ID(PID),然后使用 kill 命令发送适当的信号来终止进程。 以下是一般步骤:
使用 ps 命令找到进程ID(PID):
ps aux | grep my-project-exe
上述命令会列出所有包含 “my-project-exe” 的进程,其中包括进程的详细信息以及对应的PID。找到你想要停止的进程的PID。
使用 kill 命令终止进程:
kill PID
将 PID 替换为你找到的实际进程ID。
如果想要强制终止进程,可以使用 -9 选项,但请注意,这可能导致进程未能正确清理资源。示例:
kill -9 PID
注:请谨慎使用强制终止,最好首先尝试不带 -9 选项的 kill 命令。
如果0基础,可以使用现有的框架搭建自己的博客网站
请参考下面这位up主的教程:
https://b23.tv/vR9SJCR
我尝试了一下,确实很不错!
这位up使用到了下面两个网站: https://app.netlify.com/teams/1aob/overview https://themes.gohugo.io/
每日反思
远方