需要从一个进程ping到另一个进程

时间:2012-02-23 04:07:08

标签: process ping

我有两个进程P1和P2。我想从P1 ping到P2告诉P2 它活着并且正在工作。我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以在P1上定期连接P1的网络套接字侦听器。您需要为更具体的代码示例指定您正在使用的语言。

正如Thilo在下面提到的,由于它们位于同一系统上,因此您可以使用一个简单的文件作为“我活着”的消息。这是一个例子:

  • 让“P1”每隔几秒钟用当前时间更新文件。这是一个shell示例(抱歉,我不做C ++):
     rm /tmp/P1.heartbeat
     date +%s > /tmp/P1.heartbeat
  • P2然后打开 - 读取 - 关闭文件。然后将其与当前时间进行比较,并在文件中的时间“太旧”时采取适当的操作。
    • 确保您的P2系统在每次读取后关闭文件,以确保它重新读取新文件。
     X=`cat /tmp/P1.heartbeat`
     NOW=`date +%s`
     DIFF=$(( $NOW - $X))
     if [ $DIFF -gt 60 ] ; then
       echo P1 died $DIFF seconds ago.
     fi

答案 1 :(得分:0)

在同一台机器上(假设有一个文件系统),您可以使用“心跳文件”。让P1定期使用当前时间戳更新文件,P2可以检查是否过时。您也可以在那里写入P1进程ID,P2可以检查该pid是否仍然存在。