如何在Perl中启动外部进程?

时间:2014-11-03 20:26:33

标签: perl process pid

我想启动一个进程,获取其PID,并将其写入PID文件。然后,我想检查该文件,获取PID,并检查该进程是否与kill 0一起运行。

如果进程没有运行,我想启动它,获取它的PID,并将其写入PID文件。如果进程已在运行,那么我想忽略它。

如何启动进程以使其继续运行,我可以使用Perl检查其状态?

1 个答案:

答案 0 :(得分:1)

如果了解其他进程需要将PID作为与其交互的方式,那么在UNIX上传统的进程就是管理自己的PID文件。

但..如果你使用fork / exec来启动进程,父进程在fork()成功后会收到子进程的pid。

如果您向我们提供更多详细信息,我们可以提供更准确的帮助。

--------------------- 2014-11-04 -----------------

您的网络服务'应该'创建自己的PID文件(许多商用服务器解决方案已经这样做了)。但是你没有说这些服务是如何启动的,也不是它们是什么类型的进程:apache,iis,node,websphere等。

一般来说,这感觉就像XY问题。你告诉我们你想做X,但是你正在做的是Y,而且Y还有更好的方法,而不仅仅是X。{{1}}

请告诉我们有关环境和软件的信息。