#include <unistd.h>
#include <sys/types.h>
main()
{
pid_t pid1, pid2;
int status;
pid1 = pid2 = -1;
pid1 = fork();
if(pid1 > 0)
pid2 = fork();
if(pid1 > 0 && pid2 > 0)
{
waitpid(pid2, &status, 0);
printf("parent : child2 - exit(%d)n", status);
waitpid(pid1, &status, 0);
printf("parent : child1 - esit(%d)n", status);
}
else if(pid1 == 0 && pid2 == -1)
{
sleep(1);
exit(1);
}
else if(pid1 > 0 && pid2 == 0)
{
sleep(2);
exit(2);
}
else
printf("fail to forkn");
}
여기서 -1 하는 이유가 뭔지 잘 몰라서요... else if 에서는 자식 프로세스 실행하는거면
else if(pid1 == 0)
{
sleep(1);
exit(1);
}
else if(pid2 == 0)
{
sleep(2);
exit(2);
}
이렇게 해도 되는거 아닌가요??