【发布时间】:2014-11-03 20:26:33
【问题描述】:
我想启动一个进程,获取它的 PID,并将它写入一个 PID 文件。然后我想检查该文件,获取 PID,并检查进程是否使用kill 0 运行。
如果进程没有运行,我想启动它,获取它的 PID,并将它写入 PID 文件。如果进程已经在运行,那么我想忽略它。
如何启动一个进程以使其继续运行,并且我可以使用 Perl 检查它的状态?
【问题讨论】:
-
看看
fork。 -
听起来很像 Proc::PID::File (metacpan.org/pod/Proc::PID::File)
-
init.d通常会处理这个问题 -
我可以提供更多细节吗?我使用您的信息尝试了一些事情,但我需要知道我可以开始哪些事情。我试过这些东西:
-
我试过:perl -e 'use Proc::PID::File;' [未安装] [user@server init.d]$ syslog bash: syslog: command not found [user@server init.d]$ /etc/init.d/syslog Usage: /etc/init.d/syslog {start |stop|status|restart|condrestart} [m75926@m5deveet01 init.d]$ sshd bash: sshd: command not found [user@server init.d]$ /etc/init.d/sshd Usage: /etc/init. d/sshd {start|stop|restart|reload|condrestart|status} perl -e 'my $var1 = exec
sar;print $var1;' [没有打印] 当我运行“top”时,我没有看到我启动的进程。请提前 thx 了解更多具体信息。