[英]does linux kill command terminate child processes?
當您在父進程上調用“ kill”時,子進程隨后是否也會被殺死?
不,不是自動的。
通常,當父母被殺死時,會向孩子發送HUP信號。 至少當父級是外殼時,這是正確的。 我不確定每當孩子被fork()時是否免費提供。
但這可以被克服,例如,如果父級是一個外殼並且子級是使用nohup child&
啟動的,或者子級本身聲明它將忽略HUP信號,那么這是可以克服的。
這個bash腳本將殺死自己和子進程……nohup的反面。
#!/bin/bash
read pid cmd state ppid pgrp session tty_nr tpgid rest < /proc/self/stat
trap "kill -TERM -$pgrp; exit" EXIT TERM KILL SIGKILL
# run the program given on args
"$@"
exit $?
有人知道是否有這樣的內置功能嗎?
是的,它會的; 使用kill -1
: http : //unixhelp.ed.ac.uk/shell/jobz5.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.