실제로 저는 애플리케이션에서 5초마다 지속적으로 생성되는 특정 파일/폴더를 실행하고 지속적으로 삭제해야 하는 쉘 스크립트를 만들 계획입니다.
[아래에 사용된 데이터는 더미이므로 이해하기 쉬우며 일반적으로 다른 사람들에게도 도움이 될 수 있습니다.]
대상 애플리케이션 패키지 이름- com.example.mypackage
대상 애플리케이션 실행 활동 이름- com.activity.launcher
대상 앱에서 삭제할 파일- /sdcard/Android/data/app/log1 , /sdcard/Android/data/app/log2
간격 삭제: 5초에 한 번씩
트리거 포인트 시작:쉘 스크립트를 실행한 후에만
끝:제거 루프 프로세스는 대상 애플리케이션이 더 이상 활성화되지 않은 후에 자동으로 종료되어야 합니다(따라서 위에 언급된 활동 이름).
답변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