终止进程并等待该进程退出

当我从bash脚本启动tcp服务器时,我需要在当前实例开始侦听之前杀死前一个实例(可能仍在侦听同一端口)

我可以使用类似于pkill<以前的pid&gt。如果我理解正确,这只会将SIGTERM发送到目标pid。当pkill返回时,目标进程可能仍处于活动状态。有没有办法让pkill等待退出

不可以。您可以使用kill-0$PID编写一个循环。如果此调用失败($?-ne 0),则进程已终止:

而kill-0$PID;做
睡眠1
完成

(感谢qbolec的代码)

相关的:

  • shell脚本中的kill-0$pid是做什么的

发表评论