OS Linux[centos,RHEL]/process 관리 이해

kill,killall 명령어

infra 2021. 11. 20. 17:18

해당 OS의 버젼은 CentOS 7.4

환경이며, httpd 는 설치한 상태이다.

 

 

 

[root@centos7 system]# killall -v 968
968: no process found
[root@centos7 system]# ps -ef |grep httpd
root        968      1  0 19:17 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     1089    968  0 19:17 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     1090    968  0 19:17 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     1091    968  0 19:17 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     1092    968  0 19:17 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     1093    968  0 19:17 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
test1      1634   1573  0 19:20 pts/1    00:00:00 vim ./httpd.conf
root       2186   2084  0 20:34 pts/3    00:00:00 vim /var/log/httpd/error_log
root       2315   2277  0 20:36 pts/4    00:00:00 tail -f /var/log/httpd/error_log
root       2320   1483  0 20:37 pts/0    00:00:00 grep --color=auto httpd

 

[root@centos7 system]# killall -v httpd
Killed httpd(968) with signal 15
Killed httpd(1089) with signal 15
Killed httpd(1090) with signal 15
Killed httpd(1091) with signal 15
Killed httpd(1092) with signal 15
Killed httpd(1093) with signal 15
[root@centos7 system]# ps -ef |grep httpd |grep -v grep
test1      1634   1573  0 19:20 pts/1    00:00:00 vim ./httpd.conf
root       2186   2084  0 20:34 pts/3    00:00:00 vim /var/log/httpd/error_log
root       2315   2277  0 20:36 pts/4    00:00:00 tail -f /var/log/httpd/error_log

 

 vim ./httpd.conf, vim /var/log/httpd/error_log, tail -f /var/log/httpd/error_log 는 내가 개인적으로 열어서 본 프로세스이고, PID가 다르므로 따로 죽진 않는다. httpdf라는 데몬( 서비스)만 kill하게 된다.

 

기존 PID 968을 killall -v httpd 로 죽이면서 systemctl restart httpd 로 httpd 데몬을 재시작했다.

새로운 httpd 데몬이 시작하면서 PID는 3329를 기점으로 올라왔으며,하위 PPID는 3330~ 3334 이다.

 

 

 

 

해당 CentOS7버젼이므로 보통 systemd 구조는

/usr/lib/systemd/system/서비스명 또는 소켓명 으로 되어있다.

 

Unit

Servuce

Install

 

크게 3가지로 이루어져 있으며,

After는 해당 타겟을 한 뒤에 작동하는 것을 의미한다.

Document는 man page를 통해 man httpd, man apachectl 등을 확인할 수 있음.

 

2.service

환경파일의 경로가 따로 나와있다. /etc/sysconfig/httpd

 

해당 서비스를 시작할 때 /usr/sbin/httpd $OPTIONS -DFOREGROUND

서비스를 재조정할 때ExecReload를 의미하며, ExecStop은 해당 프로세스를 죽일 때를 의미하는 것이다.

 

3.install

 

 

 

'OS Linux[centos,RHEL] > process 관리 이해' 카테고리의 다른 글

ulimit  (0) 2021.10.31