use*_*827 4 ruby windows pid process kill-process
我试图在给定的时间段后使用其 PID 杀死一个进程,即,如果该进程持续运行超过 10 分钟,我必须调用一个方法来杀死它。
我有两个问题:首先,我无法终止进程,我正在使用:
Process.kill('INT', pid)
Run Code Online (Sandbox Code Playgroud)
但是错误不断出现,例如Bad file descriptor,或者unsupported name 'SIGQUIT'当我使用QUIT信号而不是INT.
其次,如何在调用终止进程的方法之前制作 10 分钟计时器?
谢谢。
对于您的时间,您可以使用线程:
Thread.new do
sleep 10 * 60
begin
Process.kill('QUIT', pid)
rescue Errno::ESRCH
# process exited normally
end
end
_, status = Process.wait2 pid
puts status.exited?
Run Code Online (Sandbox Code Playgroud)
我不确定为什么 QUIT 对您不起作用。我无法复制您的错误。
| 归档时间: |
|
| 查看次数: |
7317 次 |
| 最近记录: |