解决zsh远程启动后台进程后无法退出的问题

9 篇文章 0 订阅

今天遇到一个比较诡异的问题,在我的mac上,使用zsh远程了登录了我们的测试服务器,启动了一个后台运行的Java服务,命令如下:

nohup ./bootstrap.sh run com.test.Demo > /tmp/output  2>&1 &

然后执行 exit 命令退出远程服务器时,终端报了一个信息:

zsh: you have running jobs.

经过查资料,找了解决方法,修改后的命令如下:
 

nohup ./bootstrap.sh run com.test.Demo > /tmp/output  2>&1 &!

注意在最后加了一个 ! 或 | 都可以,来自zsh官网文档的解释:

https://linux.die.net/man/1/zshbuiltins

Remove the specified jobs from the job table; the shell will no longer report their status, and will not complain if you try to exit an interactive shell with them running or stopped. If no job is specified, disown the current job.

大概意思是从jobs任务列表里删除当前的这个job,这样shell不会跟踪和上报这个任务的状态,从而才可以正常的退出交互式的 shell 终端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值