有没有办法等待任何(不是所有!)子进程完成?我正在编写一个Rake任务,它会产生几个子进程,我想在第一个子进程完成后立即开始一个操作。
gxwragnw1#
就叫
Process.wait
字符串等待任何子进程终止(参见文档)您还可以等待特定进程组的子进程-如果您需要更多控制,这可能很有用。
nfs0ujit2#
一种解决方案可以是,您可以使用以下命令来查找进程是否仍在运行:
begin Process.getpgid( pid ) true rescue Errno::ESRCH false end
字符串现在你可以对进程进行检查(轮询),一旦结束,你可以根据需要触发其他进程。
2条答案
按热度按时间gxwragnw1#
就叫
字符串
等待任何子进程终止(参见文档)
您还可以等待特定进程组的子进程-如果您需要更多控制,这可能很有用。
nfs0ujit2#
一种解决方案可以是,您可以使用以下命令来查找进程是否仍在运行:
字符串
现在你可以对进程进行检查(轮询),一旦结束,你可以根据需要触发其他进程。