1
作爲我在這裏的另一個問題的後續:Forking to Run Code in a Child Process With Perl's Dancer - 如何在plackup/starman/dancer下分發請求,而不會導致孩子被置於殭屍狀態?Plackup和Starman下的舞者;分叉離開失效的星際過程?
例如我想要做的事:
post '/handle_data' => sub {
# perform some calculations
...
# store some data
...
fork and return; # parent request
# do some long running tasks
...
exit; # child
};
...導致星級工人被回收,但一個剩餘的plackup過程被廢除。
從perlipc,我也試過設置$SIG{CHLD} = "IGNORE"
,但無濟於事。
是的。當父進程退出時,父進程不等待的進程將成爲退出/殭屍進程,但init(pid 1)會採用該進程,但在重新引導之前它不會從進程表中清除。 –