2012-06-02 39 views
-1

我有一台机器上运行process1并生成一些日志文件。 现在我想启动另一个进程,可以在任何计算机上想知道process1是否正在运行,并且在它正在运行的情况下,它想要在启动process2的终端上对由进程1生成的日志文件进行流式处理。在一台机器上运行的进程如何知道另一个进程是否在使用c/C++的linux中的不同机器上运行?

Process2将被调用,如下所示:process2 -dir“DirPath”。在此DirPath进程1中写入了一个文件,其中包含“进程1的PID”,“进程1的主机名”以及“进程1的日志文件”等信息。所以process2可以访问这个文件并且拥有关于process1的所有信息。现在process2想要知道process1当前是否正在运行并且如果它正在运行,那么它需要将由process1写入的日志文件中写入的数据流到启动process2的终端。

+2

在第一台机器上需要某种代理,它会通过网络报告process1的状态。根据您可能具有的特定约束,可以进行多种选择。更加详细一些。 –

+0

Process1可以在process2可以访问的目录中写入一些文件,并且可以知道process1正在运行的进程ID和主机。使用process1的process Id和hostmachine,process2如何知道process1是否正在运行。但是我需要处理process1的各种退出,包括kill -9。 – Saurabh

+0

“目录中的某个文件”不能帮助你,因为它在另一台机器上。 –

回答

1

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

相关问题