[英]Check if remote process is running (linux)
我有以下代码将检查脚本(名为my_script.sh
)是否正在运行:
ps cax | grep my_script.sh > /dev/null
if [ $? -eq 0 ]
then
echo "Process is running."
else
echo "Process is not running."
fi
但是,我想修改它以检查进程是否在另一台机器上运行,而无需直接进行ssh'操作,因为如果我在循环中运行它,这会使我脱离当前脚本。
本质上,我想这样做:
ssh otherMachine
ps cax | grep my_script.sh > /dev/null
if [ $? -eq 0 ]
then
echo "Process is running."
else
echo "Process is not running."
fi
ssh originalMachine
任何帮助,将不胜感激。 谢谢!
我不确定这不是您要查找的内容,但可以在ssh调用中直接在远程计算机中执行check命令。 返回值应对应于远程计算机中调用的命令的返回值。
当然,您需要启用无密码身份验证方法(例如ssh密钥)。
ssh otherMachine "ps cax | grep my_script.sh > /dev/null"
if [ $? -eq 0 ]
then
echo "Process is running."
else
echo "Process is not running."
fi
这是一个简单的解决方案,用于检查程序是否正在远程运行。
ssh root@192.168.22.12 -p 22 -t "pgrep -fl while.sh"
if [ $? -eq 0 ]; then echo "Process is running."; else echo "Process is not running."; fi
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.