一台机器上运行的进程如何使用c / c ++知道另一个进程是否在linux上的不同机器上运行?

时间:2012-06-02 04:47:23

标签: c++ linux process tail

我在一台机器上运行process1并生成一些日志文件。 现在我想启动另一个进程,可以在任何计算机上想知道process1是否正在运行,并且如果它正在运行,它想要流式处理启动了process2的终端上的进程1生成的日志文件。 / p>

将调用Process2,如下所示:process2 -dir“DirPath”。在此DirPath中,process1编写了一个文件,其中包含“pid of process1”,“processname of process 1”和“process1 of process1”等信息。因此,process2可以访问此文件并具有有关process1的所有信息。现在,process2想知道process1当前是否正在运行。如果它正在运行,那么它需要将process1中写入的数据在logfile中流式传输到启动process2的终端。

1 个答案:

答案 0 :(得分:1)

使用ssh登录到远程计算机并运行脚本以使用ps和grep命令检测进程是否正在运行,然后在知道路径时读取日志文件。如果您不想手动输入密码,可以使用提到的here

的ssh密钥