xargs kill 명령에 '-9' 전달

xargs kill 명령에 '-9' 전달

애플리케이션을 중지하는 스크립트를 작성 중입니다. 때로는 응용 프로그램이 중지되기를 원하지 않는 경우도 있습니다. 따라서 몇 분 동안 일시 중지한 후에도 응용 프로그램이 계속 실행 중이라면 응용 프로그램을 종료하고 싶습니다. kill 명령이 여러 번 실패한 후 강제로 중지하기 위해 -9를 추가해 보았습니다. 이것은 작동하지 않는 것 같습니다. 다른 명령을 사용해야 하는 경우에도 이것이 작동하도록 하는 방법을 아는 사람이 있습니까? 저는 새로운 것에 열려 있습니다. :-)

다음은 내 명령줄입니다.

ps -ef|grep -v grep|grep <process_name>|awk -F' ' '{print $2}' |xargs kill -9

미리 감사드립니다.

답변1

프로세스를 일괄적으로 종료하는 방법의 예입니다 php. php프로세스 이름이 무엇이든 사용하여 바꿀 수 있습니다.

ps -aux | grep php | awk '{print $2}' | xargs kill -9

답변2

@muru는 정확했지만 최근에는 pkill에 '-f' 옵션을 사용하는 것이 더 선호되는 것으로 나타났습니다. 전체 프로세스 및 인수 목록과 일치합니다. 여기에는 Tomcat 프로세스와 Logstash(Elastic으로 데이터 전송)를 실행하는 몇 개의 서버가 있습니다. 따라서 Tomcat 프로세스를 중지하기 위해 'kill -9 java'를 실행하면 Logstash 프로세스도 종료됩니다.

pkill -9 -f 'pattern to match'

예:

pkill -9 -f '/opt/tomcat/'

관련 정보