Tim*_*Tim 11 linux kill process
我试图杀死我之前在 KUbuntu 下提交的所有后台作业
kill -9 $(jobs -p)
Run Code Online (Sandbox Code Playgroud)
虽然这个命令立即给出了这样的消息
[1] 杀死了 myjob1
[2] 杀死了 myjob2
我仍然可以看到他们的进程挂在 top 的输出中,CPU 和内存使用情况在 uptime 和 free 的输出中没有改变。
所以我想我一定没有正确地杀死他们。有人可以解释一下发生在我身上的事情,我该怎么办?
我发现在上面,如果输入 k 并输入 PID 我可以一个一个地杀死进程。SO 这与命令 kill 不同吗?
我也在网上某处找到了http://www.ruhr.de/home/smallo/award.html关于不推荐 kill -9
Kill -9 格式信函的无用使用
(引用可恶)
不不不。不要使用kill -9。
它没有给进程一个干净的机会:
1) 关闭套接字连接
2)清理临时文件
3)通知它的孩子它正在消失
4) 重置其终端特性
等等等等等等。
通常,发送 15,然后等待一两秒钟,如果这不起作用,则发送 2,如果不起作用,则发送 1。如果没有,请删除二进制文件,因为该程序表现不佳!
不要使用kill -9。不要为了整理花盆而拿出联合收割机。
这是真的?“发送15”、“发送2”和“发送1”是什么意思?他们是自己命令还是“kill -15 PID”、“kill -2 PID”和“kill -1 PID”?
感谢致敬!
你的进程可能已经死了,但它仍然显示在进程表条目中,因为它是一个“僵尸进程”。当子进程终止并完全消失(除了它的进程表条目)并且父进程无法获取其终止状态(通过任何等待函数)时,它被称为僵尸......杀死(通过信号)僵尸不会工作,因为它已经终止。你需要做的是找出它的父进程并杀死 thjat one,从而不使用 kill - 9
这里有两个简单的步骤来杀死僵尸......
man kill有关可用的各种信号的定义,请参阅,但是是的。
这些通知进程用户已经“完成”了进程,尽管它们表明了一些不同的原因。SIGTERM 可能被解释为“完成当前任务,然后退出;不要开始另一个”,SIGINT 意味着“放弃你的“正在执行并退出”,SIGHUP 只是意味着没有人再听了(服务器进程可能会通过停止其控制台输出并继续运行来合法地对 SIGHUP 做出反应)。
| 归档时间: |
|
| 查看次数: |
13153 次 |
| 最近记录: |