Odkryłem, że jeśli przesyłam dużą ilość danych między dwoma procesami za pomocą potoku, jakiś plik tymczasowy zostanie utworzony przez linux w katalogu / tmp. Jeśli operacja potoku zakończy się powodzeniem, odpowiedni plik tymczasowy zostanie automatycznie usunięty przez system operacyjny. Ale jeśli operacja się nie powiedzie, plik tmp pozostaje tam.
Z jakiegoś powodu nie chcę, aby użytkownik miał możliwość uzyskania danych, które przesłałem przez trhough, więc nie chcę pozostawiać niczego na dysku twardym, nawet jeśli mój program się zawiesił. W jaki sposób mogę to zrobić?
sender > filename
wtedy receiver < filename
. Sprawdziłbym plik tmp podczas obu operacji, aby sprawdzić, czy nadawca lub odbiorca to robi.
mkfifo
utworzona rura nigdy nie buforuje (wcale!) I nigdy nie tworzy plików.