本文簡要介紹ruby語言中 Process::Status.wait
的用法。
用法
Process::Status.wait(pid=-1, flags=0) → Process::Status
等待子進程退出並返回包含該進程信息的 Process::Status
對象。它等待哪個孩子取決於 pid
的值:
- > 0
-
等待進程 ID 等於
pid
的子進程。 - 0
-
等待其進程組 ID 等於調用進程的任何子進程。
- -1
-
等待任何子進程(如果沒有給出
pid
,則為默認值)。 - < -1
-
等待進程組 ID 等於
pid
絕對值的任何子進程。
flags
參數可能是標誌值 Process::WNOHANG(如果沒有可用的子節點,則不阻塞)或 Process::WUNTRACED(返回尚未報告的已停止子節點)的邏輯或標誌值。並非所有標誌都適用於所有平台,但標誌值為零將適用於所有平台。
如果沒有子進程,則返回 nil
。並非在所有平台上都可用。
可以調用調度程序鉤子 process_wait
。
fork { exit 99 } #=> 27429
Process::Status.wait #=> pid 27429 exit 99
$? #=> nil
pid = fork { sleep 3 } #=> 27440
Time.now #=> 2008-03-08 19:56:16 +0900
Process::Status.wait(pid, Process::WNOHANG) #=> nil
Time.now #=> 2008-03-08 19:56:16 +0900
Process::Status.wait(pid, 0) #=> pid 27440 exit 99
Time.now #=> 2008-03-08 19:56:19 +0900
這是一個實驗函數。
相關用法
- Ruby Status.to_s用法及代碼示例
- Ruby Status.exitstatus用法及代碼示例
- Ruby Status.to_i用法及代碼示例
- Ruby Status.inspect用法及代碼示例
- Ruby Status.stat >>用法及代碼示例
- Ruby Status.stat & num用法及代碼示例
- Ruby Status.pid用法及代碼示例
- Ruby Status類用法及代碼示例
- Ruby Stat.stat <=>用法及代碼示例
- Ruby Stat.world_writable?用法及代碼示例
- Ruby Stat.birthtime用法及代碼示例
- Ruby Stat.ino用法及代碼示例
- Ruby Stat.readable_real?用法及代碼示例
- Ruby Stat.blockdev?用法及代碼示例
- Ruby Stat.grpowned?用法及代碼示例
- Ruby Stat.mode用法及代碼示例
- Ruby Stat.setuid?用法及代碼示例
- Ruby Stat.ftype用法及代碼示例
- Ruby Stat.blocks用法及代碼示例
- Ruby Stat.ctime用法及代碼示例
- Ruby Stat.rdev_major用法及代碼示例
- Ruby Stat.gid用法及代碼示例
- Ruby Stat.world_readable?用法及代碼示例
- Ruby Stat.size用法及代碼示例
- Ruby Stat.atime用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Status.wait。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。