1
我在Ubuntu 12.04上使用Ruby 1.9.2-p180。我不明白爲什麼下面的代碼不起作用。預期的行爲是我應該在運行代碼時在屏幕上看到文本「TRAPPED」,程序應該終止。但是當我運行它時,ruby程序不會終止,並且屏幕上不會顯示任何信息。我錯過了什麼?TERM信號分叉進程不起作用
pid = fork do
exec "trap 'echo TRAPPED' TERM; while :; do :; done"
end
Process.kill("TERM", pid)
Process.wait(pid)
問題已解決。之所以沒有如預期的那樣工作,是因爲殺害是在高管開始執行之前交付的。在交付殺戮之前引入一點睡眠可確保該程序的行爲如預期。 – Kowshik
如果你解決了你的問題,回答你的問題。 – Linuxios
完成!謝謝! :) – Kowshik