@@ -25,9 +25,9 @@ int main(int argc, char *argv[]) {
25
25
26
26
int rc = fork(); // ์ฃผ๋ชฉ
27
27
28
- if (rc < 0) {
28
+ if (rc < 0) { // (1) fork ์คํจ
29
29
exit(1);
30
- } // (1) fork ์คํจ
30
+ }
31
31
else if (rc == 0) { // (2) child ์ธ ๊ฒฝ์ฐ (fork ๊ฐ์ด 0)
32
32
printf("child (pid : %d)", (int) getpid());
33
33
}
@@ -87,9 +87,9 @@ int main(int argc, char *argv[]) {
87
87
88
88
int rc = fork(); // ์ฃผ๋ชฉ
89
89
90
- if (rc < 0) {
90
+ if (rc < 0) { // (1) fork ์คํจ
91
91
exit(1);
92
- } // (1) fork ์คํจ
92
+ }
93
93
else if (rc == 0) { // (2) child ์ธ ๊ฒฝ์ฐ (fork ๊ฐ์ด 0)
94
94
printf("child (pid : %d)", (int) getpid());
95
95
}
@@ -127,9 +127,9 @@ int main(int argc, char *argv[]) {
127
127
128
128
int rc = fork(); // ์ฃผ๋ชฉ
129
129
130
- if (rc < 0) {
130
+ if (rc < 0) { // (1) fork ์คํจ
131
131
exit(1);
132
- } // (1) fork ์คํจ
132
+ }
133
133
else if (rc == 0) { // (2) child ์ธ ๊ฒฝ์ฐ (fork ๊ฐ์ด 0)
134
134
printf("child (pid : %d)", (int) getpid());
135
135
char * myargs[ 3] ;
@@ -150,4 +150,4 @@ exec๊ฐ ์คํ๋๋ฉด,
150
150
151
151
execvp( ์คํ ํ์ผ, ์ ๋ฌ ์ธ์ ) ํจ์๋, code segment ์์ญ์ ์คํ ํ์ผ์ ์ฝ๋๋ฅผ ์ฝ์ด์์ ๋ฎ์ด ์์ด๋ค.
152
152
153
- ์์ด ์ดํ์๋, heap, stack, ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด ์ด๊ธฐํ๋๊ณ , OS๋ ๊ทธ๋ฅ ์คํํ๋ค. ์ฆ, ์๋ก์ด Process๋ฅผ ์์ฑํ์ง ์๊ณ , ํ์ฌ ํ๋ก๊ทธ๋จ์ wc๋ผ๋ ํ์ผ์ ์คํํ๋ค. ๊ทธ๋ก์ธํด์, execvp() ์ดํ์ ๋ถ๋ถ์ ์คํ๋์ง ์๋๋ค.
153
+ ์์ด ์ดํ์๋, heap, stack, ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด ์ด๊ธฐํ๋๊ณ , OS๋ ๊ทธ๋ฅ ์คํํ๋ค. ์ฆ, ์๋ก์ด Process๋ฅผ ์์ฑํ์ง ์๊ณ , ํ์ฌ ํ๋ก๊ทธ๋จ์ wc๋ผ๋ ํ์ผ์ ์คํํ๋ค. ๊ทธ๋ก์ธํด์, execvp() ์ดํ์ ๋ถ๋ถ์ ์คํ๋์ง ์๋๋ค.
0 commit comments