Windows上有哪些Process.kill信号?

时间:2013-08-14 15:36:45

标签: ruby

来自Process.kill的文档:

  

如果pid是,则将给定信号发送到指定的进程ID   正。如果pid为零,则将信号发送到其组的所有进程   ID等于进程的组ID。信号可以是整数   信号编号或POSIX信号名称(带或不带SIG   字首)。如果信号为负(或以减号开头),则会导致死亡   进程组而不是进程。 并非所有信号都可用   在所有平台上。

好的,那很模糊。在哪些平台上可以获得哪些信号? Windows上是否有可用的信号?

(之前我在Windows上尝试了Process.kill(9, pid)并且它没有抛出错误。虽然它没有杀死进程......但是Process.kill("TERM", pid)确实抛出错误。去图。)

2 个答案:

答案 0 :(得分:17)

我想我找到了解决方案。要找出当前平台支持的信号,请运行以下命令:

ruby -e "puts Signal.list"

在Windows上:

{"EXIT"=>0, "INT"=>2, "ILL"=>4, "ABRT"=>22, "FPE"=>8, "KILL"=>9, "SEGV"=>11, "TERM"=>15}

答案 1 :(得分:2)

在本文中

http://blog.robseaman.com/2008/12/12/sending-ctrl-c-to-a-subprocess-with-ruby

有很好的提及process.kill及其周转机制