- 論壇徽章:
- 0
|
本帖最后由 ixuh 于 2011-02-23 18:06 編輯
我的一個后臺的shell腳本中使用到xargs,但是有終止的需求,但是如果使用kill -9 腳本進程id的話,xargs拉起的子進程并沒有中止……
更詭異的是原本子進程的父進程是腳本進程,kill后父進程變成了1,這就很棘手了。
我用一個簡單的命令測試的結(jié)果,xargs拉起的awk進程id是從top中看到的:- bogon:~ # find / -type f | xargs awk '{print}' >/dev/null &
- + xargs awk '{print}'
- [2] 31895
- + find / -type f
- #awk進程
- bogon:~ # ps -o pid,ppid,cmd 31919
- + ps -o pid,ppid,cmd 31919
- PID PPID CMD
- 31919 31895 awk {print} /home/temp/error/STB_ERR_947_20110425052754.txt /home/te
- #殺死父進程
- bogon:~ # kill -9 31895
- + kill -9 31895
- #父進程變成1了
- bogon:~ # ps -o pid,ppid,cmd 31919
- + ps -o pid,ppid,cmd 31919
- PID PPID CMD
- 31919 1 awk {print} /home/temp/error/STB_ERR_947_20110425052754.txt /home/te
- [2]+ Killed find / -type f | xargs awk '{print}' >/dev/null
復(fù)制代碼 我希望能將awk也同時殺死,這種情況應(yīng)該怎樣解決呢?最好是不要killall awk。。
2.6.16.60-0.21-smp GNU/Linux
GNU bash, version 3.1.17(1)-release (x86_64-suse-linux)
GNU xargs version 4.2.27 |
|