kill명령어로 segmentation fault된 프로세스 종료하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 3,082 조회
- 0 추천
- 목록
본문
kill명령어로 segmentation fault된 프로세스 종료하기
리눅스시스템을 관리하거나 사용하다 보면 아주 가끔씩 “segmentation fault”라는 에러메시지를 확인 할 수 있습니다.
이 에러메시지는 메모리의 비정상적인 사용이 그 원인이며 특정 프로세스가 사용가능 메모리주소 이외의 메모리주소를 사용하거나 허용되지 않는 값을 0으로 나누는 등의 비정상적인 연산의 결과로서 메모리의 사용에 문제가 발생하였음을 알리는 메시지입니다.
이런 경우에 “segmentation fault”를 유발시킨 특정 프로세스를 종료하기 위해 kill명령어로 시그널 11번(SIGSEGV)을 보내서 종료하도록 해야 합니다.
아래의 예는 vsftpd에게 SIGSEGV, 즉 시그널번호 11번을 보내어 vsftpd를 종료시킨 것입니다.
[root@su250 Packages]# ps -ef | grep vsftpd root 3959 1 0 00:36 ? 00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf root 3965 3662 0 00:38 pts/0 00:00:00 grep vsftpd [root@su250 Packages]# [root@su250 Packages]# kill -SIGSEGV 3959 [root@su250 Packages]# [root@su250 Packages]# ps -ef | grep vsftpd root 3967 3662 0 00:38 pts/0 00:00:00 grep vsftpd [root@su250 Packages]# |
위의 vsftpd는 “segmentation fault”를 유발한 것은 아니지만 설명의 편의를 위하여 예로 든 것입니다.
아래의 예는 SIGSEGV대신 시그널숫자 11번을 사용한 예로서 위와 동일하게 지정된 프로세스를 종료하도록 한 예입니다.
[root@su250 /]# ps -ef | grep vsftpd root 3976 1 0 00:39 ? 00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf root 3980 3662 0 00:39 pts/0 00:00:00 grep vsftpd [root@su250 /]# [root@su250 /]# kill -11 3976 [root@su250 /]# [root@su250 /]# ps -ef | grep vsftpd root 3982 3662 0 00:40 pts/0 00:00:00 grep vsftpd [root@su250 /]# |
관련자료
-
이전
-
다음