GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verhindern Sie die Vererbung von Dateideskriptoren während des Linux-Forks

Wenn Sie fork mit dem Zweck, eine exec aufzurufen Funktion können Sie fcntl verwenden mit FD_CLOEXEC um den Dateideskriptor schließen zu lassen, sobald Sie exec :

int fd = open(...);
fcntl(fd, F_SETFD, FD_CLOEXEC);

Ein solcher Dateideskriptor überlebt einen fork aber keine Funktionen des exec Familie.


Nein. Schließen Sie sie selbst, da Sie wissen, welche geschlossen werden müssen.


Linux
  1. Grundlagen der Linux-Dateiberechtigungen

  2. Linux – Alles ist eine Datei?

  3. Dateideskriptoren und Shell-Scripting?

  4. Linux-Interviewfragen:Open Files / Open File Descriptors

  5. Werden Dateideskriptoren beim Fork()ing geteilt?

So erstellen Sie eine Datei unter Linux

Weniger Befehl unter Linux

Gzip-Befehl unter Linux

Gunzip-Befehl unter Linux

Stat-Befehl unter Linux

Was ist umask unter Linux?