[완료] 프로세스 종료시 kill에 관해서 여쭤볼게 있습니다.

cain의 이미지

제가 bash셸 시작하기란 책으로 기본적인 것만이라도 알아두려 공부하고 있는데요

책에서 백그라운드 작업을 모두 kill해버리는 스크립트로

kill "$@" $(jobs -p)

를 소개하면서 "TERM과 QUIT는 프로세스에 '스스로 정리할'시간을 주도록 고안된 것이지만 KILL은 한치의 기다림도 없이 프로세스를 중지하기 때문이다." 라고 번역이 되어있네요..
그런데 여기서 스스로 정리하다... 라는 것이 어떤 개념인지 감이 오질 않습니다..
공부를 안한탓이기도 하지만...... 대략이나마 뭘 말하는지 알려주셨으면 합니다.

planetarium의 이미지

스스로의 삶에 대해 되돌아보고 유언장을 작성하여 공증을 받는 것...보다는,
할당받은 메모리를 해제하고 열고있던 파일들을 닫는다거나 잡고있던 장치들을 놓아주고,
현재의 설정값들을 기록한다거나... 뭐 프로세스에 따라 다르겠지만 이런 작업들을 말합니다.

프로그램을 작성할때 SIGTERM을 받는 경우 어떠한 작업들을 할지,
심지어는 무시할지의 여부(일반적으로 그러면 안되겠지만요)도 자유롭게 결정할 수 있습니다만,
SIGKILL은 그런거 없습니다...

윈도우에서 "시스템 종료" 를 눌러 컴퓨터를 끄는 것과, 전원 플러그를 뽑아버리는 것의 차이와 비슷합니다.

cain의 이미지

덕분에 쉽게 이해할 수 있었네요......
정말 감사합니다 :)

by chaoxifer

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.