kill不会杀死任何东西.它将信号发送到目标进程.SIGKILL只是一个信号.现在,标准操作SIGKILL- 实际上唯一的操作,因为SIGKILL进程无法处理或忽略 - 是退出,这是真的.
在"<解散>"进程尚未孩子收获,这意味着父母已经不叫wait()取回孩子的退出状态.在父母打电话之前wait(),已经失效(或"僵尸")的过程会一直存在.
无论何时进程结束,无论结束如何(kill或以其他方式),它都将保留在内核的进程表中,直到其父进程检索其退出状态(使用wait和朋友).将它留在过程表中可以避免一些令人讨厌的竞争条件.
如果您的父进程已退出,则应重新分配子进程init,这会定期收回其子进程.
| 归档时间: |
|
| 查看次数: |
889 次 |
| 最近记录: |