У меня есть следующий код C, который записывается в файл как из родительского, так и от дочернего процесса после fork () . Тем не менее, выход в testfile.txt иногда поврежден или в неожиданном порядке.
Я прикрепляю код:
У меня есть следующий код C, который записывается в файл как из родительского, так и от дочернего процесса после fork () . Тем не менее, выход в testfile.txt иногда поврежден или в неожиданном порядке. Я прикрепляю код: [code]#include #include #include #include
int main() { int fd = open("testfile.txt", O_WRONLY | O_CREAT, 0644); if (fd == -1) { perror("open"); return 1; }
if (fork() == 0) { // Child process write(fd, "Child\n", 6); close(fd); } else { // Parent process write(fd, "Parent\n", 7); close(fd); }
return 0; } [/code] [b] проблема [/b]: [list] [*] Файл иногда содержит "child \ nparent \ n" и в других случаях "Родитель \ nchild \ n" [*] В некоторых случаях вывод рассыпается или смешан [*] . кажется, мешают друг другу [/list] [b] Вопрос: [/b]