本文简要介绍ruby语言中 Process.kill
的用法。
用法
kill(signal, pid, ...) → integer
如果 pid
为正,则将给定的信号发送到指定的进程 ID。如果pid
为零,则将signal
发送到组ID 等于进程组ID 的所有进程。如果pid
为负,则结果取决于操作系统。 signal
可以是整数信号编号或 POSIX 信号名称(带或不带 SIG
前缀)。如果signal
为负数(或以减号开头),则终止进程组而不是进程。并非所有信号在所有平台上都可用。 Signal.list
的键和值分别是已知的信号名称和编号。
pid = fork do
Signal.trap("HUP") { puts "Ouch!"; exit }
# ... do some work ...
end
# ...
Process.kill("HUP", pid)
Process.wait
产生:
Ouch!
如果 signal
是整数但信号错误,则会引发 Errno::EINVAL 或 RangeError
。否则,除非 signal
是 String
或 Symbol
,并且已知信号名称 ArgumentError
将被引发。
此外, Errno::ESRCH 或 RangeError
无效 pid
, Errno::EPERM 当因没有特权而失败时,将被引发。在这些情况下,信号可能已发送到前面的进程。
相关用法
- Ruby Process.groups用法及代码示例
- Ruby Process.wait2用法及代码示例
- Ruby Process.getpgrp用法及代码示例
- Ruby Process.setproctitle用法及代码示例
- Ruby Process.setrlimit用法及代码示例
- Ruby Process.uid用法及代码示例
- Ruby Process.pid用法及代码示例
- Ruby Process.detach用法及代码示例
- Ruby Process.maxgroups用法及代码示例
- Ruby Process.clock_gettime用法及代码示例
- Ruby Process.exec用法及代码示例
- Ruby Process.groups=用法及代码示例
- Ruby Process.clock_getres用法及代码示例
- Ruby Process.getsid用法及代码示例
- Ruby Process.getpriority用法及代码示例
- Ruby Process.times用法及代码示例
- Ruby Process.getpgid用法及代码示例
- Ruby Process.euid用法及代码示例
- Ruby Process.exit用法及代码示例
- Ruby Process.setpriority用法及代码示例
- Ruby Process.initgroups用法及代码示例
- Ruby Process.spawn用法及代码示例
- Ruby Process.egid用法及代码示例
- Ruby Process.last_status用法及代码示例
- Ruby Process.setsid用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Process.kill。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。