我尝试在linux中使用kill命令终止一个进程。 (不使用-9作为参数)如何确保一个进程被杀害? (使用kill命令)
我需要确保该进程真的被杀死。 据我所知,kill命令是异步运行的,可能需要一些时间才能完成。
我需要确保,我跑了杀死我的过程已经使用bash
能否请您协助死后?
谢谢!
我尝试在linux中使用kill命令终止一个进程。 (不使用-9作为参数)如何确保一个进程被杀害? (使用kill命令)
我需要确保该进程真的被杀死。 据我所知,kill命令是异步运行的,可能需要一些时间才能完成。
我需要确保,我跑了杀死我的过程已经使用bash
能否请您协助死后?
谢谢!
用信号0杀死进程将检查进程是否仍在运行,而不是实际上杀死进程。只需检查返回代码。
假设$PID
握着你的进程的PID,你可以做这样的事情:
kill "$PID"
while [ $(kill -0 "$PID") ]; do
sleep 1
done
echo "Process is killed"
kill
用于将信号发送到进程。它不一定终止这个过程(但通常会这样做)。 kill
没有明确提到的信号会发送SIGTERM
到进程。 SIGTERM
上的默认操作是终止进程,但进程可以设置不同的信号处理程序,进程可能不会终止。
什么,我认为你需要,是一种方法来查找过程是否处理过信号与否。这可以使用ps s $PID
完成。如果这显示0
s作为待定掩码,则该过程已收到信号并对其进行处理。