如何让你的cpp服务器在SSH 断开后使进程仍在后台运行

前言

现在是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 命令发送适当的信号来终止进程。
以下是一般步骤:

  1. 使用 ps 命令找到进程ID(PID):
ps aux | grep my-project-exe
  1. 上述命令会列出所有包含 “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/

每日反思

远方

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踏过山河,踏过海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值