강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

kill명령어로 segmentation fault된 프로세스 종료하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

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 /]#

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  95 명