sshpass bash 运行不正常

sshpass bash 运行不正常

我遇到了 bash 脚本的问题。

#!/bin/bash
USERNAME=pi
HOSTS="192.168.1.21 192.168.1.22 192.168.1.23 192.168.1.24 192.168.1.25 192.168.1.26 
192.168.1.27 192.168.1.28 192.168.1.29"

SCRIPT="pwomxplayer -A udp://239.0.1.23:1234?buffer_size=1200000B"
for HOSTNAME in ${HOSTS} ; do
   sshpass -p 'Nasanasa0401' ssh -o StrictHostKeyChecking=no -l ${USERNAME} ${HOSTNAME} "${SCRIPT}"
done

问题是在以下 ip 中执行命令需要很长时间,当我查看运行 bash 的 raspberry pi 主机上的服务时,我注意到我有两个服务正在运行,其中一个显示 zzzzzzzzzz

有谁意识到我可能做错了吗?

以下尝试效果很好:

#!/bin/bash
USERNAME=pi
HOSTS="192.168.1.21 192.168.1.22 192.168.1.23 192.168.1.24 192.168.1.25 192.168.1.26 
192.168.1.27 192.168.1.28 192.168.1.29"
SCRIPT="sudo killall pwomxplayer.bin"
for HOSTNAME in ${HOSTS} ; do
   sshpass -p Nasanasa0401  ssh -o StrictHostKeyChecking=no  -l ${USERNAME} ${HOSTNAME} "${SCRIPT}"
done

在此处输入图片描述

答案1

我的猜测是,在工作示例中,“killall”将在每个节点上非常快速地返回,而在非工作示例中,第一个节点上的 pwomxplayer 永远不会返回,因此它甚至不会启动第二个节点上的 pwomxplayer。

查看 ssh 的手册页,特别是“-f”参数,它将强制它在启动所需命令后进入后台。

相关内容