使用nohup让SSH客户端断开后保持进程继续运行

本文参考阿里云帮助中心:https://help.aliyun.com/knowledge_detail/42523.html

nohup可以使后面的命令不会响应挂断(SIGHUP)信号。也就是说,通过远程登录执行nohup命令后,即使退出登录后,程序还是会正常执行。通常情况下,nohup命令最后会跟上&字符,表示将这个命令放至后台执行,这样才能真正做到将这个命令放至后台持续的执行。具体示例如下所示。

  1. 执行如下命令,每秒输出一行信息。
bash hello.sh

系统显示类似如下。

2.在命令头尾分别加上nohup和&,如下所示,可以看到nohup输出了一行信息,再按一下回车键就跳回了shell命令行,此时命令已经在后台执行了,nohup将命令的输出重定向至当前目录的nohup.out文件中。同时注意到nohup会将对应程序的PID输出,PID可用于需要中断进程时结束进程。

nohup bash hello.sh &

系统显示类似如下。

3.通过如下命令,可以持续的查看nohup.out的输出,达到监视程序的效果。

tail -f nohup.out

查看完之后可以按Ctrl+c退出,程序继续运行。

4.在命令中也可以使用重定向将程序的输出改为自己想要的文件名,如下所示,则程序的输出就会写到hello.log文件中。

nohup bash hello.sh >hello.log &

5.若程序不会自动退出,那么此时需要使用kill命令来结束进程。例如,可以使用如下命令,结束进程。

查看进程:ps -aux | grep 进程名关键词

杀死进程:kill -9 pid

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值