linux - pgrep, pkill
리눅스에서 pkill, pgrep 명령어 사용하기
kill 명령어는 특정 프로세스를 종료시키는 명령어이다.
하지만 특정 프로세스를 종료시키기 위해서는 먼저 ps 명령어를 이용하여 특정 프로세스를 찾은 후
다시 kill 명령어를 사용해야 하는 불편한 점이 있다.
이러한 점을 개선하기 위해서 pgrep 명령어와 pkill 명령어를 이용하여 특정 프로세스에 signal을 보낼 수 있다.
[root@localhost ~]# pgrep apache
4065
12641
12642
12643
[root@localhost ~]# pgrep -fl apache
4065 /usr/sbin/apache2 -k start
12641 /usr/sbin/apache2 -k start
12642 /usr/sbin/apache2 -k start
12643 /usr/sbin/apache2 -k start
[root@localhost ~]# pkill apache
[root@localhost ~]# pgrep apache
[root@localhost ~]#
◎ pgrep [option] [패턴]
☞ option
-l : PID와 함께 일치하는 프로세스의 이름을 출력
-f : -l 옵션과 함께 사용하면 명령어의 경로도 출력
-n : 패턴과 일치하는 프로세시의 가장 최근 PID 출력
-x : 패턴과 정확하게 일치되는 프로세서 만 출력
◎ pkill [option] [패턴]
-f : 지정한 패턴을 명령어뿐 아니라 경로명, 옵션, 아규먼트 등도 비교
-n : 패턴과 일치하는 프로세스의 가장 최근에 실행된 프로세스 하나만 종료
-x : 패턴과 정확하게 일치하는 프로세스만 종료
출처 - http://faq.hostway.co.kr/index.php?mid=Linux_ETC&page=8&document_srl=1567