30초 이상 실행되는 모든 크롬 프로세스를 종료하고 싶습니다.
현재 아래 명령을 사용하고 있지만 모든 크롬 프로세스가 종료됩니다.
killall -9 chrome
답변1
Killall과 pkill은 모두 "이전" 선택기라는 개념을 가지고 있습니다.
killall 30s chrome
pkill --older 30 chrome
답변2
먼저, 실행 시간 기준을 확인하는 모든 PID를 표시할 수 있습니다.
> \ps -eo pid,etimes,args | \
sed -nE 's/^\ +//;s/\ +/ /g;/chrome/p' | \
cut -d' ' -f1,2 | while read -r -a ARRAY; do
[ "${ARRAY[1]}" -gt 30 ] && printf "%s\n" ${ARRAY[0]}
done
원하는 결과가 나왔다고 만족하면 아래와 같이 명령을 printf
로 바꾸면 됩니다.kill -9
> \ps -eo pid,etimes,args | \
sed -nE 's/^\ +//;s/\ +/ /g;/chrome/p' | \
cut -d' ' -f1,2 | while read -r -a ARRAY; do
[ "${ARRAY[1]}" -gt 30 ] && kill -9 ${ARRAY[0]}
done
질문의 일부는 아니지만 종료하려는 이유와 조건에 따라 하드 킬 신호(사용 ) 를 보내는 대신 소프트/정중한 킬 SIGTERM
신호(만 사용 kill ...
또는 동등하게 사용) 를 보내는 것을 고려할 수 있습니다. 문제가 있는 Chrome 프로세스. 이 주제에 대한 자세한 내용은 차이점을 참조하세요.kill -15 ...
SIGKILL
kill -9 ...
여기예를 들어.
답변3
사용:
ps -eo pid,etimes,args |grep chrome
etimes
프로세스가 시작된 이후 경과된 시간(초)이 표시됩니다.
그 다음에:
kill -9 <pid>