|
fork를 사용하시는게 괜찮을거 같은데엽...
어떤값이 들어올때마다 프로세스를 생성시키고, 수행이종료되면 종료시키는
fork를 사용하시는게 좋을거 같습니다.
=============================================
23.4 프로세스 만들기
fork 함수는 프로세스를 만드는 기본동작(primitive)이다. 그것은 헤더파일 `unistd.h'에 선언
되어 있다.
함수 : pid_t fork (void)
fork 함수는 새로운 프로세스를 만든다. 만일 그 명령이 성공하면, 그곳에는 부모와 자식 프
로세스가 존재하고 그 둘은 fork의 리턴값을 서로 다른 값으로 보게된다. 자식프로세스안에
서는 0의 값을 리턴하고 부모 프로세스 안에서는 자식 프로세스의 ID를 리턴한다. 만일 프
로세스 만들기가 실패하면, fork는 부모 프로세스에게 -1의 값을 리턴한다. 다음의 errno는
fork를 위해 정의된 에러 상황이다.
EAGAIN 다른 프로세스를 만들만한 충분한 시스템 자원이 없거나, 사용자가 이미 너무 많
은 프로세스들을 실행시키고 있다.
ENOMEM 프로세스는 시스템이 공급할 수 있는것보다 더 많은 공간을 필요로 한다.
다음은 부모 프로세스와는 다른, 자식 프로세스의 정해진 속성이다.
자식 프로세스는 자신만의 단일한 프로세스 ID를 갖는다.
자식 프로세스의 부모 프로세스 ID는 그 자신의 부모 프로세스의 ID이다.
자식 프로세스는 부모 프로세스가 개방한 파일 기술자의 자신 소유의 복사본을 가진다.
부모 프로세스안에서 연속적으로 속성이 변화하는 파일 기술자들은 자식 프로세스의 파
일 기술자에게 영향을 미치지 않고, 그리고 자식 프로세스에 속한 파일기술자의 속성이
변한다고 해도 그것또한 부모 프로세스의 기술자에게 영향을 미치지 못한다. 8.7절
[Control Operations] 113 페이지 참조.
자식 프로세스를 위하여 경과된 프로세서 시간은 0으로 설정된다; 17.1절 [Processor
Time] 233 페이지 참조.
자식 프로세스는 부모 프로세스에 의해 설정된 파일 락(lock)들을 상속받지 않는다.
- 산적 -
|