我正在尝试通过pid杀死进程但尚未成功。 要获得pid,我在adb shell中使用命令:
echo $(ps |grep myword) | cut -d' ' -f2
要杀死pid我使用命令:
kill <PID>
但是我不能加入那两个命令..我尝试过的是:
kill $($(ps |grep debug) | cut -d' ' -f2)
但它有些不对劲。我可以请你帮忙吗?
TL;博士
问题是关于在adb shell中加入两个命令,android console -to kill name by name。
echo $(ps |grep myword) | cut -d' ' -f2
kill <PID>
我忘了说:我正在使用Windows7,因此grep可能无法在控制台中运行。 非常抱歉。
我也试过这个命令:
adb shell "su -c 'echo $(ps | grep process_name) | cut -d' ' -f2 | xargs kill'"
此示例运行良好,但最后一部分xargs
失败:
adb shell ^" "su -c 'echo $(ps | grep ror)'|cut -d' ' -f2"
答案 0 :(得分:4)
该过程可以通过以下方式终止(在Linux系统上)。
使用 方法,命令(在ADB shell上)应如下所示:
echo $(ps | grep process_name) | cut -d' ' -f2 | xargs kill
在ADB shell上
ps | grep process_name | awk '{print $2}' | xargs kill
在主机上作为
adb shell ps | grep process_name | awk '{print $2}' | xargs adb shell kill
您可以使用busybox
并执行此操作。
您也可以构建自己的命令(例如pkill
),如图所示here。 killall
已经支持busybox
。
选项one
应解决您的查询,我更喜欢second
选项。
答案 1 :(得分:1)
windows7中命令adb shell的解决方案是:
adb shell ^" "su -c 'ps | echo $(grep process_name) | cut -d " " -f2 |xargs kill '"
答案 2 :(得分:0)
使用单个adb命令:
adb shell "for pid in \`ps | grep process_name | sed 's/ */ /g' | \
cut -d ' ' -f 2 \`; do kill \$pid; done"