在unix中,我通过提供ppid使用kill命令然后关闭终端。为什么?杀死-9 ppid

时间:2015-01-05 11:38:54

标签: linux terminal kill pid

sleep 5000

在一个终端和第二个终端我正在运行:

ps -ef | grep sleep

然后我通过使用ppid在第二个终端中杀死了这个过程。然后它将关闭我运行sleep命令的第一个终端。它不会创建作为孤儿的睡眠命令。

$ ps -ef | grep sleep
trainee   4887  4864  0 17:05 pts/0    00:00:00 sleep 5000
trainee   4889  4264  0 17:05 pts/1    00:00:00 grep --color=auto sleep
kill -9 4864

为什么?

1 个答案:

答案 0 :(得分:0)

据推测,睡眠的父母是你的外壳。当你杀了你的登录终止并且终端关闭时。

关于Orphan process的维基百科文章(部分),

  

孤立进程是父进程已完成或终止的计算机进程,但它仍然在自行运行。

  

进程可能会无意中孤立,例如父进程终止或崩溃时。大多数类Unix操作系统中的进程组机制可用于帮助防止意外孤立,其中与用户的shell协调将尝试使用SIGHUP进程信号终止所有子进程,而不是让它们继续像孤儿一样奔跑。