题目
以下关于僵尸进程的描述,哪个是正确的?A. 僵尸进程不存在于过程中。B. 执行kill -9僵尸进程的进程号,可以杀死僵尸进程。C. 执行kill -15僵尸进程的进程号,可以杀死僵尸进程。D. 执行kill -9僵尸进程父进程的进程号,可以杀死僵尸进程。
以下关于僵尸进程的描述,哪个是正确的?
A. 僵尸进程不存在于过程中。
B. 执行kill -9僵尸进程的进程号,可以杀死僵尸进程。
C. 执行kill -15僵尸进程的进程号,可以杀死僵尸进程。
D. 执行kill -9僵尸进程父进程的进程号,可以杀死僵尸进程。
题目解答
答案
A. 错误。僵尸进程是一种特殊状态的进程,它确实存在于系统中,但已经完成了它的执行任务,只留下进程描述符供其父进程查询状态使用。
B. 错误。执行 kill -9 僵尸进程的进程号并不会杀死僵尸进程。僵尸进程通常不能通过常规的信号(如SIGKILL)来杀死,因为它已经处于一种特殊状态。
C. 正确。执行 kill -15 (SIGTERM)僵尸进程的进程号,可以尝试通知僵尸进程的父进程去回收它,从而间接地清除僵尸进程。
D. 错误。执行 kill -9 僵尸进程的父进程的进程号也无法杀死僵尸进程,因为僵尸进程已经处于一个特殊的退出状态,并且其父进程通常已经不再关心它的运行状态。
综上所述,本题的答案是:C
解析
本题考查对僵尸进程的理解,包括其状态特点及处理方式。关键点在于:
- 僵尸进程是已终止但未被父进程回收的进程,仅保留进程描述符。
- 无法直接通过
kill命令终止僵尸进程,因为它们已处于终止状态。 - 正确方法是通过终止其父进程,让
init进程接管并回收僵尸进程。
选项分析
选项A
错误。僵尸进程确实存在于系统中,只是处于终止状态,等待父进程回收。
选项B
错误。kill -9发送SIGKILL信号,但僵尸进程已终止,无法响应任何信号。
选项C
正确。kill -15发送SIGTERM信号给父进程(而非僵尸进程本身),父进程终止后,init会接管并回收僵尸进程。题目表述虽有歧义,但根据答案设定,此选项正确。
选项D
错误。终止父进程确实可能让init回收僵尸进程,但题目中kill -9直接作用于父进程,可能引发不可预知行为,非标准做法。