我想有些线程可能不愿意死。
t = Thread.new { begin
puts 'do'
sleep 10
puts 'done'
ensure
loop { puts "really don't wanna die" }
end
}
^想象一下如果你试图Thread#kill
这个讨厌的混蛋会发生什么。
答案 0 :(得分:0)
t.exit
t.alive? => false
如果您使用陷阱,则应阅读trap("EXIT")
答案 1 :(得分:-1)
如果您询问如何杀死进程,则可以执行
Process.kill("KILL", pid)
一旦它被杀死-9,内核就会杀死进程本身。用它杀死线程。 此外,你可以捕获这个信号并优雅地杀死它
Signal.trap("KILL") { puts "Child died" }
这会回答你的问题吗?