В (немецкой) книге о программировании на языке C (Linux-UNIX-Programmierung, Jürgen Wolf) Я нашел заявление, переведенное на английский язык, следующим образом (предложения, пронумерованные me): В нек
Итак, я пытаюсь перенаправить стандартный вывод в файл с помощью dup(). int save_fd;
save_fd=dup(1); //saves the current stdout
close(1); //closes stdout
dup2(file.txt, 1);//redirect output to file
Я работаю над образцом программы, чтобы узнать, как работают трубы и forking. В моей самой основной реализации, в моем дочернем процессе, я закрыл 0 и дублировал прочитанный конец канала, так что деск
Перенаправления стандартного вывода с close и open: close(STDOUT_FILENO);
int fd = open("log", O_RDWR);
printf("My output\n");
отличается от перенаправления через dup2: int fd = open("log", O_RDWR
Я хотел создать дочерний процесс, который разворачивает дважды, чтобы создать два дочерних процесса. С выходом одного отправляется другому. Я нашел этот пример кода. Но я смущен тем, как это работает.