过了一段时间,在杀戮指挥部就没有这样的过程了



我想从bash运行一个应用程序,并在一段时间后终止它。我找到了这个答案:

xmessage "Hello World" & pidsave=$! sleep 10; kill $pidsave

但结果是:

[4] 23034
[3]   Terminated              xmessage "Hello World"
bash: kill: (22985) - No such process

正如您所看到的,xmessage并没有停止,它的窗口仍然存在。这当然有效:

your_command & sleep 20; kill $!

第一个命令出了什么问题?与第二个命令相比,它更喜欢什么?

当您运行kill命令杀死它时,进程xmessage终端已经存在。

这可以在这里看到:

[3]   Terminated              xmessage "Hello World"

所以CCD_ 4-在之后对其没有意义。


要回答窗口仍然存在的原因:

许多进程都会产生另一个进程,然后自杀。在这种情况下,您通过从终端运行xmessage生成的进程正在生成另一个进程(带有窗口的进程(,然后退出。子级仍在运行,并在父级死亡时成为孤儿(init成为它的新父级,因为init继承了所有孤儿(。

相关内容

  • 没有找到相关文章