Ruby 分叉过程的术语信号不';行不通
我在Ubuntu 12.04上使用Ruby 1.9.2-p180。我不明白为什么下面的代码不起作用。预期的行为是,当我运行代码时,我应该在屏幕上看到文本:“TRAPPED”,程序应该终止。但是当我运行ruby程序时,它不会终止,屏幕上也不会打印任何内容。我错过了什么Ruby 分叉过程的术语信号不';行不通,ruby,process,Ruby,Process,我在Ubuntu 12.04上使用Ruby 1.9.2-p180。我不明白为什么下面的代码不起作用。预期的行为是,当我运行代码时,我应该在屏幕上看到文本:“TRAPPED”,程序应该终止。但是当我运行ruby程序时,它不会终止,屏幕上也不会打印任何内容。我错过了什么 pid = fork do exec "trap 'echo TRAPPED' TERM; wh
pid = fork do
exec "trap 'echo TRAPPED' TERM; while :; do :; done"
end
Process.kill("TERM", pid)
Process.wait(pid)
它没有像预期的那样起作用的原因是杀戮是在执行官开始之前完成的。在交付kill之前引入一点睡眠可以确保程序按预期运行。问题已解决。它没有像预期的那样起作用的原因是杀戮是在执行官开始之前完成的。在交付kill之前引入一点睡眠可以确保程序按预期运行。如果您解决了问题,请回答您的问题。