如何检查某个进程是否正在另一个框中运行并返回一个值?例如,如果我想检查进程“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