我需要殺一個shell腳本,遠程過程如下遠程進程:無法殺死使用ssh
#!/bin/bash
ip="172.24.63.41"
user="mag"
timeout 10s ssh -q [email protected]$ip exit
if [ $? -eq 124 ]
then
echo "can not connect to $ip, timeout out."
else
echo "connected, executing commands"
scp a.txt [email protected]$ip://home/mag
ssh -o ConnectTimeout=10 [email protected]$ip > /dev/null 2>&1 << remoteCmd
touch b.txt
jobPid=`jps -l | grep jobserver | awk '{print $1}'`
if [ ! $jobPid == "" ]; then
kill -9 $jobPid
fi
exit
remoteCmd
echo "commands executed."
fi
執行它後,我發現SCP和觸摸的條款已被處決,但殺子句中有沒有執行成功,並且過程仍然存在。如果我在遠程機器上將「jobPid = ...」的子句運行到「fi」,則可以終止進程。如何解決它?
非常感謝,我會嘗試你的建議。 – user1803467
我已將用戶修改爲「root」並運行腳本。它仍然不能殺死這個過程。但是scp和touch子句正在工作。你能否給我任何其他建議?順便說一句,webuser/group是什麼意思?先謝謝你。 – user1803467