kill -9
就是毫无反应 1
plko345 OP 忘记说了, 是 ubuntu 16.04 64bit
|
2
wellsc 2019-03-19 21:07:21 +08:00
孤儿进程
|
3
pkokp8 2019-03-19 21:11:50 +08:00 via Android
是不是进入了某些系统中断,所以你无法 kill
|
4
choury 2019-03-19 21:15:46 +08:00 via Android
cat /proc/xxx/stack
|
5
weyou 2019-03-19 21:57:30 +08:00 via Android
进程被 system call 阻塞了,除此之外还没见过-9 kill 不掉的处于 running 状态的用户进程。
|
8
a663 2019-03-19 22:39:52 +08:00 via Android
进程是 D 状态了吧?
|
13
yuikns 2019-03-19 23:52:40 +08:00 via iPhone
linux 里面的 signal 体系都是接收者处理的。你发送 sigkill 后,目标进程在收到 sig 后自行了断。
没有反应有两种可能,一种是程序自定义了 sigkill 的行为,一种是 cpu 一直在忙,可能死循环了。 前者把同事撸起来打一顿重启服务器,后者你试试等两天看它会不会消失,有时候会,不然重启服务器吧 |
14
zorn 2019-03-19 23:54:59 +08:00
有守护进程?
|
15
yuikns 2019-03-19 23:55:33 +08:00 via iPhone
python 的线程稀烂,结果各种库都使用多进程。弄到现在搞成这样也是常见
|
17
wwqgtxx 2019-03-20 01:55:42 +08:00 1
@yuikns 我记得按照 Linux 规范,程序并不允许自己处理 SIGKILL 信号,内核会直接接管,你说的收到 sig 自行了断的是 SIGTREM
|
18
yuikns 2019-03-20 02:51:27 +08:00
@wwqgtxx 感谢指教
https://en.wikipedia.org/wiki/Signal_(IPC)#SIGKILL > In contrast to SIGTERM and SIGINT, this signal cannot be caught or ignored 学习了。稍微程序试了下,的确不行。平时做 gracefully shutdown 特意只屏蔽了 SIGHUP, SIGINT, SIGTERM 和 SIGQUIT 就想留着 SIGKILL 给脸着地用的。没想到其实也不被允许这样做。 因此我第一种猜想显然是脑补错误的。 关于 “自行了断”,应该是我表述问题。我记得&理解是这样的。通常情况下,所有信号是异步的,我们发送 sigkill, kernel 把它丢进了 q,然后对应进程结束回收资源。通常情况下,它会在若干时间片里面就处理完毕。但是例外也是有的。普通的用户进程是可以随便打断的,但是涉及到 kernel 的调用有时候不行。如果有些 kernel 级别的调用在很短周期内反复使用,或者一直调用不成功,抽不出时间片处理信号,目标的回收就会被延时。 以前有时候遇到有些 python 用户,挂了 100 多 G 数据在内存,意外死了。执行 kill 不成功,但是有其它程序在跑又不太好直接重启。于是就等上两天,它自己抽出空就能消失。 |
19
linbiaye 2019-03-20 09:44:59 +08:00
sigkill 这个信号 os 是会直接杀死进程,而不是通知进程。进程如果 D 住了则无效,楼主这个更像是遇到 BUG。
|
20
aa514758835 2019-03-20 10:09:18 +08:00
杀他父亲 进程
|
21
ps1aniuge 2019-03-22 15:05:07 +08:00
1 哈哈哈哈哈哈哈哈哈哈哈哈。一个 run 状态的,非 root 用户启动的,进程,kill -9 杀不死。
哈哈哈哈哈哈哈哈哈哈哈哈。应该存在么?我认为不应该。 这样的一个 win 进程,应该存在吗?我认为不应该。 2 如何解决: 除非内存耗尽了,但一般不可能。 vmstat 看看。等半小时还没 kill -9 掉,就应该重启机子,若暂时不能重启,就等空闲重启。 3 为什么: 内核 bug,或 glibc 等 bug。所以你要升级 linux 发行版到 ubuntu 16.04.6,并升级内核到最新。 4 若还能重现问题。那就是这个 linux 太垃圾! 就只能不用这种 linux。或者直接修改源码,直接找厂家。 5 上面的观点 4,有人不同意么? 普通用户可以运行 1024 个进程, 不用 1024,几个流氓 py 进程,坐在你 linux 家里大吃二喝不给钱,怎么弄也不走, 你找来警察,警察 kill 来了也不灵。 很容易就可以把你的 linux 家 “塞满,涨死”,对不? 你只能找盖 linux 房子的创世神,毁灭房子。彻底重设计 。 不重设计,只是重盖,刚盖好,流氓又钻进来“坐吃”了。 |
22
ps1aniuge 2019-03-22 15:08:15 +08:00
就是 root 启动的进程,就算是进入了某些中断,也应该能 kill -9 掉!
另外,是否还有人认为,linux 可以 n 年不补丁?不用重启? |
23
Yapie 2019-03-29 20:38:47 +08:00
即有可能是一个 service,而且是自动重启的那种。
|