/* 20Nov23: Beispielprogramm, um den Standard-Fehler und die * Standard-Ausgabe in eine feste Datei "output" umzuleiten. * * WIE IMMER: KEINE GARANTIE AUF NICHTS, ALLES KANN FALSCH SEIN, NICHT * IN DIE EIGENE ABGABE KOPIEREN! */ #include #include #include #include int main(int argc, char *argv[]) { if (argc <= 1) { fprintf(stderr, "Usage: %s [command...]\n", argv[0]); return EXIT_FAILURE; } int fd = creat("output", 0644); /* FEHLERBEHANDLUNG! */ dup2(fd, STDOUT_FILENO); /* FEHLERBEHANDLUNG! */ dup2(fd, STDERR_FILENO); /* FEHLERBEHANDLUNG! */ (void) argc; /* for (int i = 0; i < argc; i++) */ /* puts(argv[i]); */ execvp(argv[1], argv+1); perror("exec"); return EXIT_FAILURE; }