基本上,我有这个功能。在fgets之后,我希望父母通过将play变量更改为0来让孩子停下来。我该怎么做?
void readQuestion(char * question) {
int play = 1;
char inputline[256];
int s;
char * holder;
int p = fork();
if (p == 0) {
while(play) {
holder = strsep(&question," ");
if(holder) {
printf("%s\n",holder);
sleep(1);
}
else{
play = 0;
}
}
}
else {
fgets(inputline,256,stdin);
printf("%s",inputline);
kill();
}
}
答案 0 :(得分:1)
要做到这一点,你想采取两种方法之一...
答案 1 :(得分:0)
你可能不想分叉,而是创建一个线程。 Fork正在创建一个新进程,因此您将拥有两个进程,每个进程都有自己的“play”变量副本
...看到 http://www.geekride.com/fork-forking-vs-threading-thread-linux-kernel/