天天看点

linux 支持多少进程,linux最多可以有多少个进程

看我下面的程序,还有问题可以baidu hi我

#include

#include

#include

#include

int main(int argc, const char *argv[])

{

int pid, pfd[2], seq;

if (argc != 2)

{

printf("Usage:\t %s num\n", argv[0]);

return 1;

}

seq = atoi(argv[1]);

if (seq <= 0)

{

printf("Error: seq shall be larger than 0.\n");

return 1;

}

pid = fork();

if (pid == 0)

{

execlp("/bin/ls", "/bin/ls", "-R", ".", NULL);

}

else if (pid > 0)

{

wait(NULL);

printf("\n\nThis is parent process, child 1 finished.\n");

}

pipe(pfd);

pid = fork();

if (pid == 0)

{

int next = 1, i, fib = 0, tmp;

close(pfd[0]);

for (i = 0; i < seq; i++)

{

write(pfd[1], &fib, sizeof(fib));

tmp = fib;

fib = next;

next += tmp;

}

fib = -1;

write(pfd[1], &fib, sizeof(fib));

return 0;

}

else if (pid > 0)

{

int fib;

close(pfd[1]);

wait(NULL);

printf("In parent process, child 2 finished, time to print fibonacci sequence...\n");

while (read(pfd[0], &fib, sizeof(fib)) == sizeof(fib))

{

if (fib >= 0)

{

printf("%4d ", fib);

}

else

{

printf("\n");

break;

}

}

printf("\n All DONE!\n");

}

return 0;

}

取消

评论