Ich habe festgestellt, dass, wenn ich eine große Datenmenge zwischen zwei Prozessen über Pipe übertrage, eine temporäre Datei von Linux im Verzeichnis / tmp erstellt wird. Wenn der Pipe-Vorgang erfolgreich ist, wird die entsprechende temporäre Datei vom Betriebssystem automatisch entfernt. Wenn der Vorgang jedoch fehlschlägt, bleibt die tmp-Datei dort.
Aus irgendeinem Grund möchte ich nicht, dass der Benutzer die Möglichkeit hat, die von mir über Pipe übertragenen Daten abzurufen. Daher möchte ich nicht, dass noch etwas auf der Festplatte verbleibt, selbst wenn mein Programm abstürzt. Wie kann ich das machen?
sender > filename
Dann receiver < filename
. Ich würde während beider Operationen nach der tmp-Datei suchen, um zu sehen, ob entweder der Absender oder der Empfänger dies tut.
mkfifo
erstellte Pipe niemals (überhaupt!) Puffert und niemals Dateien erstellt.