누구든지 나를 도와줄 수 있나요?
쉘 스크립트 작성을 시작하려고 하는데 이 문제에 대해 혼란스럽습니다. "adb shell ps" 명령이 필요 grep
하고 이름이 있는 3개의 프로세스를 찾습니다.
- 공정 1
- 공정 2
- 공정 3
grep
이러한 프로세스가 출력 에 나타나면 스크립트를 계속 사용하고, 그렇지 않으면 grep
30초 간격으로 5번 확인하십시오. 마지막으로 - 프로세스가 시작되지 않으면 양식 스크립트를 종료하세요.
답변1
다음은 귀하가 찾고 있다고 생각되는 스크립트입니다.
#!/bin/bash
cnt=1; found=0;
while [ "$cnt" -le 5 ]; do
echo "chk#: $cnt"
if [[ $(pgrep -f "proc1") && $(pgrep -f "proc2") && $(pgrep -f "proc3") ]]; then
found=1
break
fi
let cnt=cnt+1
sleep 6
done
[ "$found" -eq 0 ] && exit
echo "found them"
proc1, proc2 및 proc3이 프로세스의 실제 이름인 경우 이 줄을 변경할 수 있습니다. 위의 명령줄에서 이러한 문자열이 나타나는지 찾습니다.
if [[ $(pgrep "proc1") && $(pgrep "proc2") && $(pgrep "proc3") ]]; then
pgrep
이 명령은 기본적으로 단일 명령으로 실행될 수 있으므로 스크립트는 대신을 사용합니다 grep
.ps .. | grep ...