#include #include #include #include #include int main() { pid_t fpid = fork(); if (fpid < 0) { perror("fork"); return 1; } int f = open("test.txt", O_CREAT | O_WRONLY | O_APPEND, 0755); if (f < 0) { perror("open test.txt"); return 2; } if (fpid == 0) { // in child sleep(2); int ws = write(f, "From Child 1\n", 13); if (ws < 0) { perror("write from child"); return 3; } sleep(5); ws = write(f, "From Child 2\n", 13); if (ws < 0) { perror("write from child"); return 3; } } else { int ws = write(f, "From Parent 1\n", 14); if (ws < 0) { perror("write from child"); return 3; } sleep(3); ws = write(f, "From Parent 2\n", 14); if (ws < 0) { perror("write from child"); return 3; } sleep(5); } }