defunct 프로세스는 머하는 녀석입니까?

voider의 이미지

fork() -> execl() 로 만든 프로세스를
kill 시그널을 주면
defunct 프로세스가 되던데요
도데체 왜 이런거죠?
머 죽은 프로세스라니까 실제로 돌아가는 넘은 아니지만 커널안에서
프로세스 테이블에 관련된 메모리를 차지 하고 있는거 아닙니까?

이거 아예 없애버릴수 있는 방법은 없는겁니까?

서지훈의 이미지

좀비 프로세스입니다.
죽었으나 저승으로 가질 못하고 이승을 떠도는 놈이죠.
좀 더 자세한건 여기서 "좀비"나 구글링으로 "좀비 프로세스 or zpmbie process"정도로 찾으면 정보를 더 구할 실 수가 있습니다.

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

송지석의 이미지

죽여버리시죠
kill -9 PID

segfault의 이미지

자식프로세스를 죽일때는 waitpid()로 시신을 거둬줘야(?) 합니다.

mach의 이미지

babjo87 wrote:
자식프로세스를 죽일때는 waitpid()로 시신을 거둬줘야(?) 합니다.

좋은 해결.

* 권장할 방법은 아니지만,
signal(SIGCHLD, SIG_IGN);
를 한번 불러서, 자식의 죽음을 외면하는 방법도 있습니다.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

voider의 이미지

아 자식 프로세스를 죽였는데 부모에게 제대로 알리질 못해서 시신을 묻지를 못한거군요.
그런데 포크 한 프로세스를 죽이면 이런것도 없이 바로 죽던데요.
자식 프로세스라고 하여도 어차피 같은 몸뚱이니까 알릴 필요없이 죽이는건가...
아님 부모 프로세스가 포크를 시킨 프로세스의 부모로 물려 받는건가..
ㅎㅎ 아리송...

-- 아쉬운 하루 되세요 --

익명 사용자의 이미지

voider wrote:

....
그런데 포크 한 프로세스를 죽이면 이런것도 없이 바로 죽던데요.
자식 프로세스라고 하여도 어차피 같은 몸뚱이니까 알릴 필요없이 죽이는건가...
아님 부모 프로세스가 포크를 시킨 프로세스의 부모로 물려 받는건가..
ㅎㅎ 아리송...

부모의 부모의 부모의... 모 이렇게 나가면 참으로 귀찮겠지요.
그래서 유닉스 설계자는 부모가 죽으면, 부모의 부모 이렇게 가지말고, 대빵부모(1번 PID를 가지는 init process)에게 시신의 수습을
맡기기로 했습니다. 이유는 아마도 귀찮아서일꺼라는.... :oops:

각설하고, init는 모든 프로세스의 부모이면서 캡 장의사입니다.
그래서, 잘 ~ 수습한다는.....
* init가 죽으면? 그거야 시스템의 종말이므로, 이젠 개발자가 지그시 리셋버튼눌러서 수습해야 한다는...

익명 사용자의 이미지

참 부모프로세스를 죽이고 자식 프로세스들의 부모가 1로 바뀐것을 확인하세요.

댓글 달기

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 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 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>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 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>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 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>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.