, когда я скомпилирую этот код и запускаю его. Я получаю результат «PARENT» появляется перед «CHILD». Для информации я на Linux Mint.Функция Fork в Linux Mint
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
void main(){
pid_t pidc ;
pidc = fork();
if(pidc < 0)
{printf("error !\n");}
else if(pidc == 0){
printf("I am the child process! \n");
}
else{
printf("I am the parent process! \n");
}
}
и это результат:
Я родительский процесс!
Я детский процесс!
Итак, у кого-то есть идея? и спасибо.
В чем же ваша проблема? Вы заявили, что происходит, но не то, что вы ожидаете или хотите произойти. – LogicG8
Родительский и дочерний процессы выполняются параллельно. Это точка 'fork'. Если вы хотите, чтобы сообщения отображались в определенном порядке, не используйте 'fork'; просто распечатайте сообщения из своей программы. Кроме того, это 'int main (void)', а не 'void main()'; если вы получили 'void main()' из книги, его автор не очень хорошо знает C. Пожалуйста, определите книгу, чтобы мы могли предупредить людей. –
согласны с вами, но, как правило, сначала следует отображать РЕБЕНОК, а затем РОДИТЕЛЯ, и это не тот случай! –