728x90
반응형
ps, grep, awk와 kill 조합
ps 명령과 grep 명령의 조합으로 원하는 프로세스 ID를 찾을 수 있습니다.
pi@raspberrypi: $ ps -efgrep main
pi 1510 1486 0 17:53 ? 00:00:00 python3 src/m_main.py
pi 1511 1510 99 17:53 ? 00:29:48 python3 src/m_main.py
pi 1512 1510 44 17:53 ? 00:10:00 python3 src/m_main.py
pi 1513 1510 99 17:53 ? 00:23:52 python3 src/m_main.py
pi 1915 1197 0 18:15 pts/0 00:00:00 grep --color=auto main
마지막의 grep가 나타나지 않도록 하고, awk 명령을 이용하여 프로세스 ID만 출력하면 다음과 같습니다.
pi@raspberrypi: $ ps -efgrep maingrep -v grepawk '{print $2}'
1510
1511
1512
1513
위 프로세스 ID 결과를 다음과 같이 kill 명령으로 전달하면 해당 프로세스들이 일괄 중지됩니다.
pi@raspberrypi: $ kill `ps -efgrep maingrep -v grepawk '{print $2}'`
pgrep과 kill 조합
pgrep 명령(ps + grep)을 이용하면 위 ps 명령 조합 보다 단순하게 다음과 같이 쉽게 프로세스 ID를 찾을 수 있습니다.
pi@raspberrypi: $ pgrep -f my_program
940
941
942
943
다음과 같이 pgrep 명령 결과를 kill 명령과 조합하여 특정 프로세스를 모두 일괄 중지합니다.
pi@raspberrypi: $ kill -9 `pgrep -f my_program`
스크립트 작성
다음과 같이 스크립트 작성하여, 활용하였습니다. ; ~/bin/kill-my_process.sh
#!/bin/bash
PRODUCT_CODE=program_name
INSTALL_PATH=~/my_product/${PRODUCT_CODE}
kill -9 `pgrep -f ${PRODUCT_CODE}`
참고자료
- "ps와 grep으로 pid를 조회하여 프로세스 종료(kill)":http://taewan.kim/tip/ps_grep_kill/
'Linux,Unix,BSD' 카테고리의 다른 글
[linux] curl을 이용한 Basic 인증하기 (0) | 2021.05.09 |
---|---|
ubuntu 20.04에 python 3.10 설치하기 (0) | 2021.05.06 |
Detail: No TXT record found at _acme-challenge.domain (0) | 2021.04.19 |
Ubuntu에서 Nvidia GPU의 메모리를 온전히 다 사용해보자! (0) | 2021.03.09 |
[RaspberryPi] command line에서 gpio 다루기 (0) | 2021.02.23 |