PID, PPID 관계가 필요한 이유?

하하의 이미지

:D

유닉스는 모든 프로세스가 꼭 부모 자식 관계를 유지는데..

꼭 그래야만 하는 이유가 있는건가요?

윈도우 같은 경우 모든 프로세스(?)는 부모 자식 관계를 유지하나요?

제가 알기론 윈도우는 fork 같은 기능은 없는 걸로 알고 있습니다..

^^;

mach의 이미지

하하 wrote:

유닉스는 모든 프로세스가 꼭 부모 자식 관계를 유지는데..

꼭 그래야만 하는 이유가 있는건가요?


아뇨, 최초 저작자의 의도였고, 현재는 관습일 뿐입니다.

하하 wrote:

윈도우 같은 경우 모든 프로세스(?)는 부모 자식 관계를 유지하나요?

아뇨, 윈도우 제작자는 별로 부모자식이런거 신경안쓴거 같습니다. 관심이 없었는지......
하하 wrote:

제가 알기론 윈도우는 fork 같은 기능은 없는 걸로 알고 있습니다..


fork()의 기능을 무엇으로 보냐가 문제인데, 유닉스에서 프로세스를 생성하는 유일한 시스템 호출을 fork()라고 한다면, 윈도우에서도 프로세스를 생성하는 시스템 호출은 당연히 있어야 겠지요?

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

서지훈의 이미지

하하 wrote:

유닉스는 모든 프로세스가 꼭 부모 자식 관계를 유지는데..
꼭 그래야만 하는 이유가 있는건가요?

네...
UNIX에는 일반적으로 기본 process가 3개 있는데...
0, 1, 2번 프로세스입니다.
여기에 대한 자세한 내용은 역시 Stevens의 APUE 참고 하시고...
근데... 이중 1번이 모든 프로세스의 대모가 됩니다.
이놈에서 부터 모든 프로세스는 시작이 되죠...
그러니 UNIX에서 돌아가는 모든 프로그램은 이 1번 process로부터 forking되서 나온것들 입니다.
그리고 프로그래밍 중에 아마도 현재의 parent process ID(PPID)를 알 필요가 있습니다(여기엔 상황에따라 여러 경우가 있겠죠).
한 예로 지금 돌고 있는 부모 프로세스를 죽이게 되면은 자식들도 모두 종료되는데...
이건 자식들 일일이 종료 하는것들도다 편하겠죠...
아님... 중간 처리를 해서 부모프로세스를 1번으로 다시 가지게 하거나...
보통 이러한 경우는 daemon에서 사용하죠...

하하 wrote:
윈도우 같은 경우 모든 프로세스(?)는 부모 자식 관계를 유지하나요?

원래 윈도그에는 프로세스가 없습니다.
모두 쓰레드로 돌아 갑니다.
아무리 쓰레드로 돌리더라도 이런 관계는 아마 있을겁니다.
개념상 비슷한....

하하 wrote:
제가 알기론 윈도우는 fork 같은 기능은 없는 걸로 알고 있습니다..

위의 대답으로 답이 된듯...

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

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.