我需要使用shell脚本终止远程进程,如下所示:
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_marginTop="50dp" />
执行后我发现scp和touch子句已经执行,但是kill子句没有成功执行,过程仍在那里。如果我从&#34; jobPid = ...&#34;运行条款to&#34; fi&#34;在远程机器上可以杀死进程。如何解决?
答案 0 :(得分:1)
我在远程机器上放了一个脚本,可以找到并终止进程,然后我在本地机器上运行脚本,用ssh在远程机器上执行脚本。脚本如下:
本地脚本:
#!/bin/bash
ip="172.24.63.41"
user="mag"
timeout 10s ssh -q $user@$ip exit
if [ $? -eq 124 ]
then
echo "can not connect to $ip, timeout out."
else
echo "connected, executing commands"
ssh -q $user@$ip "/home/mag/local.sh"
echo "commands executed."
fi
远程脚本:
#!/bin/bash
jobPid=`jps -l | grep jobserver | awk '{print $1}'`
if [ ! $jobPid == "" ]; then
kill -9 $jobPid
fi
答案 1 :(得分:0)
您的脚本需要root访问权限(这绝不是一个好主意)。或者确保正在运行的程序在您的webuser / group下运行