【发布时间】:2012-06-02 04:47:23
【问题描述】:
我在一台机器上运行 process1 并生成一些日志文件。 现在我想启动另一个进程,它可以在任何机器上想知道 process1 是否正在运行,并且如果它正在运行,它想在启动 process2 的终端上流式传输进程一生成的日志文件。
Process2 将按如下方式调用:process2 -dir "DirPath"。在这个 DirPath 中,进程 1 编写了一个文件,其中包含“进程 1 的 pid”、“进程 1 的主机名”和“进程 1 的日志文件”等信息。所以 process2 可以访问这个文件并拥有有关 process1 的所有信息。现在 process2 想知道 process1 当前是否正在运行,如果它正在运行,则需要将 process1 在 logfile 中写入的数据流式传输到启动 process2 的终端。
【问题讨论】:
-
您需要在第一台机器上安装某种代理,通过网络报告 process1 的状态。相对于您可能拥有的特定约束,有许多选择可供选择。更具体。
-
进程1可以在进程2可以访问的目录中写入一些文件,并且可以知道进程ID和进程1正在运行的主机。使用 process1 的进程 ID 和 hostmachine,process2 如何知道 process1 是否正在运行。但我需要处理 process1 的各种退出,包括 kill -9。
-
“目录中的某个文件”对您没有帮助,因为它在另一台机器上。
-
喜欢
ssh remote fuser /path/to/log你的意思是? -
Process2 将被调用如下: