如何检查进程是否在另一台服务器上运行

如何检查进程是否在另一台服务器上运行

如何检查某个进程是否正在另一个框中运行并返回一个值?例如,如果我想检查进程“FTP”是否正在 192.168.1.2 中的 192.168.1.1 中运行,我将如何返回成功标志?我想合并一个脚本来检查某个进程是否在服务器集群中运行。

我试图想出一些但没有成功的东西:

for i in 'cat server_list.txt';
     do ssh $i
          "ps -ef | grep ftp = process;
          if [ $process -eq 1]
              then 
                  echo "ftp process is running"
          fi"

我想要一个返回让我知道“ftp”进程正在运行。服务器列表文本文件中有服务器 IP 列表。

答案1

while read -r host; do
   if ssh -n "$host" "pgrep '^ftp$'"; then
      echo "A process named 'ftp' is running on ${host}."
   fi
done < /path/to/server_list

相关内容