-1
5 개의 프로세스 (스레드가 아닌)를 만들고 세마포어로 동기화해야합니다. 동기화 알고리즘은 "라운드 로빈 (Round Robin)"과 비슷합니다. 질문은 5 가지 프로세스를 만드는 방법입니다. 그렇게 할 수 있습니까?여러 프로세스를 만들 수있는 방법
pID = fork();
if(pID < 0) {
fprintf(stderr, "Fork Failed");
exit(-1);
}
else if(pID == 0) {
pID = fork();
if(pID < 0) {
fprintf(stderr, "Fork Failed");
exit(-1);
}
else if (pID == 0) {
pID = fork();
if (pID < 0) {
fprintf(stderr, "Fork Failed");
exit(-1);
} else if (pID == 0) {
pID = fork();
if (pID < 0) {
fprintf(stderr, "Fork Failed");
exit(-1);
} else if (pID == 0) {
/* Process 5 */
printf("process5 is running... id: %d\n", pID);
} else {
/* Process 4 */
printf("process4 is running... id: %d\n", pID);
}
} else {
/* Process 3 */
printf("process3 is running... id: %d\n", pID);
}
}
else {
/* Process 2 */
printf("process2 is running... id: %d\n",pID);
}
}
else {
/* Process 1 */
printf("process1 is running... id: %d\n",pID);
return (EXIT_SUCCESS);
}
네, 할 수 있습니다 ... – Saphrosit