방법 1
$ ps -ef
모든 프로세스를 자세하게 출력한다
$ ps -ef | grep 검색어 | grep -v grep
프로세스 중 검색어를 포함하는 행을 출력한다 (grep 명령 자체는 제외하고)
$ ps -ef | grep 검색어 | grep -v grep | awk '{ print $2 }'
출력 행을 칼럼으로 구분하여 2번째 칼럼(PID)을 출력한다
$ kill -15 `ps -ef | grep 검색어 | grep -v grep | awk '{ print $2 }'`
특정 PID를 가진 프로세스를 종료한다
방법 2
pgrep을 사용하면 더 쉽게 PID를 알아낼 수 있다
$ pgrep -f 검색어
$ kill -15 `pgrep -f 검색어`
첫 번째 방법보다 훨씬 간단하다
그런데 위 명령을 터미널에서 실행 시엔 문제가 없는데, 명령의 결과가 Exit code: 0으로 끝나야만 하는 어떤 환경에서 실행 시 아래와 같은 에러가 발생했다.
exit code : -15
이를 회피하려면 출력을 백그라운드로 돌리면 된다
$ kill -15 `pgrep -f 검색어` &
단, 스크립트에서 해당 명령이 마지막이어야 함.
이 부분은 좀 더 확인이 필요하다
'OS > Linux' 카테고리의 다른 글
| Linux > 문자열 사용 시 따옴표 (0) | 2024.08.27 |
|---|---|
| Linux > Redirection 연산자 (0) | 2024.08.27 |
| Linux > 환경변수 설정을 파일에 추가해야할 때 리디렉션 사용하기 (0) | 2024.04.04 |
| Linux > 행, 단어, 문자 개수 세기 (0) | 2024.03.19 |
| Linux > OS 및 버전 확인 (0) | 2024.03.11 |