我想启动一个进程,获取其PID,并将其写入PID文件。然后,我想检查该文件,获取PID,并检查该进程是否与kill 0
一起运行。
如果进程没有运行,我想启动它,获取它的PID,并将其写入PID文件。如果进程已在运行,那么我想忽略它。
如何启动进程以使其继续运行,我可以使用Perl检查其状态?
答案 0 :(得分:1)
如果了解其他进程需要将PID作为与其交互的方式,那么在UNIX上传统的进程就是管理自己的PID文件。
但..如果你使用fork / exec来启动进程,父进程在fork()成功后会收到子进程的pid。
如果您向我们提供更多详细信息,我们可以提供更准确的帮助。
--------------------- 2014-11-04 -----------------
您的网络服务'应该'创建自己的PID文件(许多商用服务器解决方案已经这样做了)。但是你没有说这些服务是如何启动的,也不是它们是什么类型的进程:apache,iis,node,websphere等。
一般来说,这感觉就像XY
问题。你告诉我们你想做X
,但是你正在做的是Y
,而且Y
还有更好的方法,而不仅仅是X
。{{1}}
请告诉我们有关环境和软件的信息。