我在 Ubuntu 12.04 上使用 Ruby 1.9.2-p180。我不明白为什么下面的代码不起作用。预期的行为是,当我运行代码时,我应该在屏幕上看到文本:“TRAPPED”,并且程序应该终止。但是当我运行它时,ruby 程序并没有终止,并且屏幕上没有打印任何内容。我错过了什么?
pid = fork do
exec "trap 'echo TRAPPED' TERM; while :; do :; done"
end
Process.kill("TERM", pid)
Process.wait(pid)