这是一个系统的程序。c
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("./client &");
printf("WE are in main programn");
printf("WE are in main programn");
printf("WE are in main programn");
printf("WE are in main programn");
printf("WE are in main programn");
return 0;
}
这是客户端。c
#include <stdio.h>
int main()
{
printf("We are in background processn");
do {
//doing some process on message queue to receive messages
} while (1);
return 0;
}
如何获得的输出/系统从linux终端运行,就像下面的一样
We are in background process
WE are in main program
WE are in main program
WE are in main program
WE are in main program
WE are in main program
谁能更清楚地解释一下吗?
也许看看这个并启发自己。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
int pid;
int status;
pid = fork();
if (pid == -1)
{
// handle error
}
if (pid == 0)
{
// exec child process
execl("./client", "client", NULL);
}
else
{
wait(&status);
}
printf("WE are in main programn");
printf("WE are in main programn");
printf("WE are in main programn");
printf("WE are in main programn");
printf("WE are in main programn");
return 0;
}