实际上,我打算创建一个执行的 shell 脚本,该脚本应该每隔 5 秒连续删除由应用程序不断生成的特定文件/文件夹
[下面使用的数据是虚拟数据,因此它变得容易理解,并且通常也可能对其他人有帮助]
目标应用程序包名称- com.example.mypackage
目标应用程序启动活动名称- com.activity.launcher
目标App要删除的文件- /sdcard/Android/data/app/log1 , /sdcard/Android/data/app/log2
删除间隔:每 5 秒一次
开始触发点:只有在我执行shell脚本之后
终点:删除循环过程应在目标应用程序不再活动后自动结束(因此上面提到的活动名称)
答案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