2016-12-09 25 views
0

私は特定のターゲットのPIDを見つけて、このプロセスを終了したいと思います。私はいつも、以下のようなエラーを取得し、[Android]コマンドラインにプロセス番号を渡す方法 "adb shell kill"

#!/bin/bash 
# 

func(){ 

while true; do 

adb shell ps | grep my-target-process | awk '{print $2}' | xargs adb shell kill 

sleep 1 

done 
} 

:しかし何か問題が

usage: kill [-s signame | -signum | -signame] { job | pid | pgrp } ... 
    kill -l [exit_status ...] 

あり

その後、私はシェルを作ったのですか?ありがとう。

+0

を行うことができます別の方法として、あなたはxargsの-I {} adbのシェルキルを{}試すことができます – Inian

+0

http://stackoverflow.com/questions/3117095/stopping-an-android-app-from-console – Vinodh

+0

ありがとうございます。 理由をご指定ください。ありがとう – Sweet

答えて

0

コメントセクションで私が提案したロジックについて説明します。

| xargs -I{} adb shell kill "{}" 

作品はxargs-I{}フラグである理由は、{}は、プロセスIDが現在{}に存在するとして渡すことができ、すなわち出力のプレースホルダは、前のコマンドから返さなりますあなたのkillコマンドへの引数/入力。

(も)あなたのAndroidバージョンが直接プロセスID pidを返すpidofコマンドを、サポートしている場合、あなたは

adb shell pidof -s "my-target-process" | xargs -I{} kill "{}" 
+0

@lnian遅くて申し訳ありません、私は以前、グローバルな旅行にあった、あなたの説明のために非常にありがとう – Sweet

関連する問題