안녕하세요? 바람돌이입니다.

이번에 설명할 프로그램은 killproc 으로서 리눅스에서 프로세스를 PID가 아닌 프로세스 이름과 같은 것으로 죽일 수 있는 프로그램입니다.

먼저 http://rpmfind.net/ 이나 그 외에 다양한 곳에서 다운을 받을 수 있습니다.

본 페이지에서도 2.11 버전은 다운 받으실 수 있습니다.



우선 해당 파일을 적당한 곳에 다운 받습니다.
그리고 나서, 다음과 같이 압축을 해제합니다.

[root@localhost ~]# tar zxvf killproc-2.11.tar.gz
killproc-2.11/
killproc-2.11/README
killproc-2.11/COPYING
killproc-2.11/Makefile
killproc-2.11/killproc.8
killproc-2.11/killproc.c
killproc-2.11/startproc.c
killproc-2.11/startproc.8
killproc-2.11/checkproc.c
killproc-2.11/checkproc.8
killproc-2.11/libinit.c
killproc-2.11/libinit.h
killproc-2.11/usleep.c
killproc-2.11/usleep.1
killproc-2.11/killproc-2.11.lsm
[root@localhost ~]#

그리곤 해당 폴더에 들어가서 make를 실행하면 실행 파일이 생성됩니다.


[root@localhost ~]# cd killproc-2.11
[root@localhost killproc-2.11]# make
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -DINITDIR=\"/etc/init.d\" -c libinit.c
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -o killproc killproc.c libinit.o
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -o startproc startproc.c libinit.o
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -o checkproc checkproc.c libinit.o
gcc     -D_GNU_SOURCE -Wall -pipe -o usleep usleep.c
[root@localhost killproc-2.11]# ll
합계 372
-rw-r--r--  1  223 ftp  18007 11월  8  2005 COPYING
-rw-r--r--  1  223 ftp   4544 11월  8  2005 Makefile
-rw-r--r--  1  223 ftp    983 11월  8  2005 README
-rwxr-xr-x  1 root root 29103  7월 20 17:04 checkproc
-rw-r--r--  1  223 ftp   7511 11월  8  2005 checkproc.8
-rw-r--r--  1  223 ftp   7149 11월  8  2005 checkproc.c
-rwxr-xr-x  1 root root 32245  7월 20 17:04 killproc
-rw-r--r--  1  223 ftp    749 11월  8  2005 killproc-2.11.lsm
-rw-r--r--  1  223 ftp   8631 11월  8  2005 killproc.8
-rw-r--r--  1  223 ftp  10373 11월  8  2005 killproc.c
-rw-r--r--  1  223 ftp  33820 11월  8  2005 libinit.c
-rw-r--r--  1  223 ftp   9341 11월  8  2005 libinit.h
-rw-r--r--  1 root root 21868  7월 20 17:04 libinit.o
-rwxr-xr-x  1 root root 38672  7월 20 17:04 startproc
-rw-r--r--  1  223 ftp   7806 11월  8  2005 startproc.8
-rw-r--r--  1  223 ftp  16992 11월  8  2005 startproc.c
-rwxr-xr-x  1 root root  5917  7월 20 17:04 usleep
-rw-r--r--  1  223 ftp   1024 11월  8  2005 usleep.1
-rw-r--r--  1  223 ftp   1724 11월  8  2005 usleep.c
[root@localhost killproc-2.11]#


보시는 것 중에 killproc 파일이 바로 실행 파일입니다. (특정 터미널에서는 색상이 다르게 보일겁니다.)

이를 PATH를 설정해주어도 되지만, 편하게 계속 사용할 것임으로 /bin 폴더에 복사해 놓습니다.



[root@localhost killproc-2.11]# cp ./killproc /bin
[root@localhost killproc-2.11]# killproc
killproc: Usage:
        killproc [-v] [-t<sec>] [-g|-G] [-SIG] /full/path/to/program
        killproc -l
[root@localhost killproc-2.11]#



그리곤 실행을 시켜보면 어느 폴더에서나 위와 같이 실행이 가능하다는 것을 알 수 있습니다.




사실 make를 하게 되면 3개의 프로그램이 생성됩니다.
1. startproc
2. checkproc
3. killproc

즉, 프로세스를 생성하고, 검사하며, 죽일 수 있는 패키지입니다.
나머지에 대한 것은 검색을 활용하시기 바랍니다.




간단한 killproc 사용법을 설명하겠습니다.
만약 mysqld를 실행하면, 대략 몇개의 프로세서가 동작하게 되는데,

[root@localhost killproc-2.11]# killproc mysqld

하게 되면, mysql에 관련된 프로세서가 모두 죽는 것을 볼 수 있습니다.


스크립트에 넣어서 사용하시는 것도 하나의 팁이 될 수 있겠네요. @^-^@




+ Recent posts