我试图在一段时间后使用PID来终止一个进程,也就是说,如果进程持续运行超过10分钟,我必须调用一个方法来终止它。
我有两个问题:首先,我不能设法杀死进程,我使用:
Process.kill('INT', pid)
但错误不断popup像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?
我不确定为什么QUIT不适合你。 我无法复制你的错误。