프로세스 포크

  다른 뜻에 대해서는 프로젝트 포크 문서를 참조하십시오.
  다른 뜻에 대해서는 포크 문서를 참조하십시오.

1 개요[ | ]

fork
포크
  • 프로세스를 복제하는 일
  • 부모 프로세스를 복제하여 자식 프로세스를 생성

2 아파치 예시[ | ]

아파치 데몬은 일반적으로 다음과 같이 구동된다.

[root@zetawiki ~]# ps -ef | egrep "(httpd|UID)" | grep -v grep
UID        PID  PPID  C STIME TTY          TIME CMD
apache    9608 13802  0 05:01 ?        00:00:23 /usr/sbin/httpd
apache   10848 13802  0 07:25 ?        00:00:13 /usr/sbin/httpd
apache   11662 13802  0 09:05 ?        00:00:08 /usr/sbin/httpd
root     13802     1  0 Sep02 ?        00:00:00 /usr/sbin/httpd
apache   24326 13802  0 04:02 ?        00:00:29 /usr/sbin/httpd
apache   24328 13802  0 04:02 ?        00:00:30 /usr/sbin/httpd
apache   24329 13802  0 04:02 ?        00:00:30 /usr/sbin/httpd
apache   24330 13802  0 04:02 ?        00:00:38 /usr/sbin/httpd
apache   24331 13802  0 04:02 ?        00:00:32 /usr/sbin/httpd
apache   24332 13802  0 04:02 ?        00:00:33 /usr/sbin/httpd
apache   24333 13802  0 04:02 ?        00:00:33 /usr/sbin/httpd
apache   24334 13802  0 04:02 ?        00:00:32 /usr/sbin/httpd
→ 13802번 프로세스는 부모프로세스로서 root계정으로 수행됨.
→ 그것이 여러개의 자식프로세스로 복제(fork)되어 apache계정으로 수행된다.[1]

3 같이 보기[ | ]

4 참고[ | ]

  1. 보다 정확히는 prefork. 웹서버의 경우 연결유지 시간이 짧기 때문에 미리 복제해두는 것이 유리하다.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}