Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在linux中,一台机器上运行的进程如何使用c/c+知道另一个进程是否在不同的机器上运行+;?_C++_Linux_Process_Tail - Fatal编程技术网

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

C++ 在linux中,一台机器上运行的进程如何使用c/c+知道另一个进程是否在不同的机器上运行+;?,c++,linux,process,tail,C++,Linux,Process,Tail,我让process1在一台机器上运行并生成一些日志文件。 现在我想启动另一个进程,它可以在任何机器上运行,我想知道process1是否正在运行,如果它正在运行,它想在process2启动的终端上对process1生成的日志文件进行流式处理 Process2将按如下方式调用:Process2-dir“DirPath”。在这个DirPath中,process1编写了一个文件,其中包含“process1的pid”、“process1的主机名”和“process1的日志文件”等信息。因此,process

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


Process2将按如下方式调用:Process2-dir“DirPath”。在这个DirPath中,process1编写了一个文件,其中包含“process1的pid”、“process1的主机名”和“process1的日志文件”等信息。因此,process2可以访问此文件,并拥有有关process1的所有信息。现在,process2想知道process1当前是否正在运行,如果它正在运行,则需要将process1在日志文件中写入的数据流传输到启动process2的终端。

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

在第一台机器上需要某种代理,它将通过网络报告process1的状态。相对于您可能具有的特定约束,有许多选择需要做出。更具体地说,Process1可以在process2可以访问的目录中写入一些文件,并且可以知道Process1运行的进程id和主机。使用process1的进程Id和主机,process2如何知道process1是否正在运行。但我需要处理process1的各种退出,包括kill-9。“目录中的某些文件”对您没有帮助,因为它位于另一台计算机上。例如
ssh remote fuser/path/to/log
您的意思是什么?Process2将按如下方式调用: