这是我的问题,当我向我的进程发送kill命令时,无论是kill -9还是kill -TERM,我的进程都会进入僵尸(失效)状态,这需要父进程调用waitpid来捕获退出状态。但它大约需要5-7秒,这太长了。
$ ps -ef | grep store
web_ser+ 2793 1 30 May24 ? 1-12:13:45 [my_test] <defunct>
web_ser+ 45462 33954 0 20:22 pts/0 00:00:00 grep --color=auto store但是,当我使用pstack打印父进程时,它仍然阻塞在waitpid中。
$ pstack 46046
#0 0x00007ffa2d078dbc in waitpid () from /lib64/libc.so.6
#1 0x00000000004012c3 in main ()我不知道为什么要花那么多时间退出,这个过程使用了大约70G内存,也许是因为内存回收,但我不知道要找出问题,有人能给出一些想法吗?
发布于 2022-05-30 09:42:59
建议检查是否存在任何需要在两端终止的常设NFS/共享文件夹连接。
更一般地,检查需要清除的任何网络依赖项。
此外,检查应用程序使用的任何特殊设备驱动程序(GPU/图形卡/USB设备/蓝牙设备/Wifi适配器/打印机.)。一些低质量的设备驱动程序需要时间来脱离。
https://stackoverflow.com/questions/72423697
复制相似问题