fork()1 [OS] 프로세스 관리 (2) 1. fork() 시스템콜 fork()는 새로운 프로세스를 만들어달라는 요청이다. fork를 하게 되면 fork가 이루어진 그다음 시점부터 자식 프로세스가 실행을 하게 된다. 그 이유는, 자식 프로세스가 부모 프로세스의 context(정확히는 Program Counter)를 복제해서 main함수의 시작 부분이 아닌, pid = fork(); 부분부터 실행해야 하기 때문이다. 2. exec() 시스템콜 exec()는 어떤 프로그램을 완전히 새로운 프로세스로 태어나게 하는 역할을 한다. exec를 실행하면 main 함수 처음부터 돌아가 실행하게 된다. 그러나 반드시 자식 프로세스를 만들어서 exec를 해야 하는 것은 아니다. 즉, 위 코드에서 pid = fork(); 부분이 없어도 된다. 3. wait() .. 2021. 12. 16. 이전 1 다음