実際、私はアプリケーションで5秒ごとに継続的に生成される特定のファイル/フォルダを実行し、継続的に削除する必要があるシェルスクリプトを作成する予定です。
[下記のデータはダミーなので理解しやすく、一般的に他の人にも役立ちます。]
ターゲットアプリケーションパッケージ名- com.example.mypackage
ターゲットアプリケーション実行アクティビティ名- com.activity.launcher
ターゲットアプリから削除するファイル- /sdcard/Android/data/app/log1 , /sdcard/Android/data/app/log2
間隔を削除:5秒に1回
トリガーポイントの開始:シェルスクリプトを実行した後にのみ
終わり:除去ループ・プロセスは、ターゲット・アプリケーションが活動化されなくなった後に自動的に終了する必要があります(したがって、上記の活動名)。
答え1
以下は私が思いついた短いbashスクリプトです。logger\.sh
grepステートメントを監視したいプロセス名に変更する必要があります。この場合、「logger.sh」というプロセスを確認し、PIDを取得します。
#!/bin/bash
pid=$(ps aux | grep "logger\.sh" | head -n 1 | awk '{print $2}');
if [ "$pid" != "" ]
then
pidFound=1;
while [ "$pidFound" = 1 ]
do
rm /sdcard/Android/data/app/log1;
rm /sdcard/Android/data/app/log2;
sleep 5;
pid=$(ps aux | grep "logger\.sh" | head -n 1 | awk '{print $2}');
if [ "$pid" != "" ]; then
pidFound=1;
else
pidFound=0;
break
fi
done
fi