Linux 如何确保进程被终止?(使用kill命令)
我尝试在linux中使用kill命令杀死一个进程。(不使用-9作为参数) 我需要确保这个过程真的结束了。 据我所知,kill命令是异步运行的,可能需要一些时间才能完成 我需要确保,在运行kill之后,我的进程已经在使用bash时终止 你能帮忙吗Linux 如何确保进程被终止?(使用kill命令),linux,process,kill,Linux,Process,Kill,我尝试在linux中使用kill命令杀死一个进程。(不使用-9作为参数) 我需要确保这个过程真的结束了。 据我所知,kill命令是异步运行的,可能需要一些时间才能完成 我需要确保,在运行kill之后,我的进程已经在使用bash时终止 你能帮忙吗 谢谢 使用信号0终止进程将检查进程是否仍在运行,而不是实际终止它。只需检查返回代码。使用信号0终止进程将检查进程是否仍在运行,而不是实际终止它。只需检查返回代码。假设$PID保持流程的PID,您可以执行以下操作: kill "$PID" while [
谢谢 使用信号0终止进程将检查进程是否仍在运行,而不是实际终止它。只需检查返回代码。使用信号0终止进程将检查进程是否仍在运行,而不是实际终止它。只需检查返回代码。假设
$PID
保持流程的PID,您可以执行以下操作:
kill "$PID"
while [ $(kill -0 "$PID") ]; do
sleep 1
done
echo "Process is killed"
假设
$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显示为挂起掩码,则进程已接收到信号并对其进行了处理 kill
用于向进程发送信号。它不一定会终止流程(但通常会终止)kill
未明确提及的信号将向进程发送SIGTERM
。SIGTERM
上的默认操作是终止进程,但进程可以设置不同的信号处理程序,进程可能不会终止
我想你需要的是一种方法来确定这个过程是否处理了这个信号。这可以使用ps s$PID
完成。如果将0
s显示为挂起掩码,则进程已接收到信号并对其进行了处理