Linux ETC

 리눅스에서 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 : 패턴과 정확하게 일치하는 프로세스만 종료