[백업][가리사니] linux 에서 java 프로세스 kill / pkill
linux
이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.
일반적인 방법
ps 명령어로 pid 확인 후 kill 명령어로 강제종료
# pid 찾기
user@host:/path>$ ps -ef | grep test_bat_2018
tomcat 47365 1 2 10:18 ? 00:00:15 /app/jdk-10.0.2/bin/java -jar ./test_bat_2018-1.0.0.jar
tomcat 48233 47685 0 10:30 pts/1 00:00:00 grep --color=auto test_bat_2018
# kill 실행 - pid 매칭 사용
user@host:/path>$ kill -9 47365
# 결과
user@host:/path>$ ps -ef | grep test_bat_2018
tomcat 48233 47685 0 10:30 pts/1 00:00:00 grep --color=auto test_bat_2018
pkill 을 사용하여 pid 삭제와 프로세스 종료를 한번에 실행
# 확인
user@host:/path>$ ps -ef | grep test_bat_2018
tomcat 47365 1 2 10:18 ? 00:00:15 /app/jdk-10.0.2/bin/java -jar ./test_bat_2018-1.0.0.jar
tomcat 48233 47685 0 10:30 pts/1 00:00:00 grep --color=auto test_bat_2018
# kill 실행 - 풀 커맨드라인 패턴매칭 사용
user@host:/path>$ pkill -9 -f test_bat_2018
# 결과
user@host:/path>$ ps -ef | grep test_bat_2018
tomcat 48233 47685 0 10:30 pts/1 00:00:00 grep --color=auto test_bat_2018
shell script 로 작성할 경우
쉘 스크립트로 작성할 방법은 많지만 이름이 확실한경우. pkill 을 사용하여 작성할 수 있습니다. -f 옵션 : 풀 커맨드 라인 매칭 자세한 옵션 및 pkill man 보기
# kill 실행
pkill -9 -f test_bat_2018
주의
풀 커맨드 즉 아래의 커맨드에 매칭될 경우 강제종료 되기 때문에 매우 조심히써야합니다.
/app/jdk-10.0.2/bin/java -jar ./test_bat_2018-1.0.0.jar
또한 커맨드의 패턴은 Extended Regular(확장 정규식) 임에 또 한번 유의해야 합니다.