我有以下一組進程,需要通過第一個列出的進程以編程方式關閉,這是我正在編寫的一個C程序。關閉這組進程的最佳方法是什麼?
PID PGRP SESN PPID USER TTY CMD
6553 6553 6553 1 root ? ./startserv
6554 6553 6553 6553 root ? expect -- /usr/bin/unbuffer ./srcds_run...
6555 6555 6555 6554 root pts/1 /bin/sh ./srcds_run -autoupdate -game c...
6565 6555 6555 6555 root pts/1 ./srcds_linux -autoupdate -game cstrike...
我通常做手工在這種情況下是殺死6553 6555很顯然,我知道我自己的PID,但似乎有點傻編寫類似「殺了我的PID + 2」(儘管它似乎這將[幾乎]始終有效。幫助?
殺死'expect'過程(6554以上)是否會殺死它的孩子(6555)? – bstpierre 2010-09-16 16:07:30
您可以擴展'expect'的運行方式嗎?完整的argv,帶有關於文件類型的註釋,以及關於發生的fork ... exec的任何特殊情況。 – nategoose 2010-09-16 20:17:57