本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。