Ruby 跨平台检查(非子)进程是否正在运行的方法

Ruby 跨平台检查(非子)进程是否正在运行的方法,ruby,Ruby,在我的Ruby应用程序中,我试图想出一种简单且跨平台的方法来确保在父进程被杀死时父进程的子进程被杀死(请参阅) 我正在探索的一种可能性是,产生一个单独的进程,监视父进程,如果父进程死亡,则杀死子进程。我已经想出了一种有效的方法让这个监控过程知道父母何时去世,但是现在我需要一种方法让它监视子进程,这样如果孩子在父母之前去世,监控过程就可以退出。请注意,“子进程”是监视进程父进程的子进程,而不是监视进程本身 所以我需要知道的是:给定某个进程的PID,我如何以跨平台的方式检查该进程是否仍在运行(或者更

在我的Ruby应用程序中,我试图想出一种简单且跨平台的方法来确保在父进程被杀死时父进程的子进程被杀死(请参阅)

我正在探索的一种可能性是,产生一个单独的进程,监视父进程,如果父进程死亡,则杀死子进程。我已经想出了一种有效的方法让这个监控过程知道父母何时去世,但是现在我需要一种方法让它监视子进程,这样如果孩子在父母之前去世,监控过程就可以退出。请注意,“子进程”是监视进程父进程的子进程,而不是监视进程本身

所以我需要知道的是:给定某个进程的PID,我如何以跨平台的方式检查该进程是否仍在运行(或者更好的是,当它死亡时会得到通知)?(例如,可在Linux和Windows上运行。)

最简单的方法是,然后通过命令行在或上使用简单的测试来检查程序是否正在运行

最简单的方法往往不是最好的方法。然而,要准备好面对一些奇怪的代码,例如。这是你的电话


我希望有人能说我错了,说ruby中有一种很好的跨平台管理流程的方法。请吧。

嘿,我也是。我确实找到了一个很棒的库,名为,它做了我想要的一些事情,但它似乎只对它产生的进程起作用;无法包装现有进程,然后对其调用
alive?
之类的方法。