作为我在此处的另一个问题的后续行动:使用 Perl 的 Dancer 在子进程中分叉运行代码- 如何分叉在 plackup/starman/dancer 下运行的请求而不会导致子进程处于僵尸状态?
例如我正在尝试做的事情:
post '/handle_data' => sub {
# perform some calculations
...
# store some data
...
fork and return; # parent request
# do some long running tasks
...
exit; # child
};
... 导致 starman 工人被回收,但剩余的 plakup 过程失效。
从 perlipc,我也尝试过设置$SIG{CHLD} = "IGNORE"
,但无济于事。