애플리케이션을 중지하는 스크립트를 작성 중입니다. 때로는 응용 프로그램이 중지되기를 원하지 않는 경우도 있습니다. 따라서 몇 분 동안 일시 중지한 후에도 애플리케이션이 계속 실행 중이면 해당 애플리케이션을 종료하고 싶습니다. 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으로 데이터 전송)를 실행하는 일부 서버가 있습니다. 따라서 "kill -9 java"를 사용하여 Tomcat 프로세스를 중지하면 Logstash 프로세스도 종료됩니다.
pkill -9 -f 'pattern to match'
예:
pkill -9 -f '/opt/tomcat/'