在Ruby中使用PID来杀死一个进程

我试图在一段时间后使用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不适合你。 我无法复制你的错误。