Używam skryptu powłoki, który zapisuje do pliku.
Skrypt ten może zająć dużo czasu i chciałbym monitorować częściowe dane wyjściowe, zamiast czekać na zakończenie całego skryptu.
Czy bezpiecznie jest otworzyć (podwójnie kliknąć) plik zapisywany przez skrypt?
Odpowiedzi:
Czytanie pliku jest bezpieczne, chociaż dwukrotne kliknięcie, o którym wspomniałeś, prawdopodobnie otworzy plik w jakimś edytorze, który zaoferuje ci możliwość wprowadzenia zmian i zapisania ich. Zdarzają się missclicks, więc polecam polecenia, które nawet nie pozwolą ci zmienić pliku.
Są to przykłady, które działają w terminalu; będą czytać tylko plik:
źródło
Dopóki nie piszesz do niego, powinno być w porządku.
Jednak polecam korzystanie
w innym terminalu.
To polecenie „podąży” za plikiem
log_file
i zapisze nowo dodaną treść, gdy tylko zostanie zaktualizowana przez skrypt.źródło
Za mało przedstawicieli, aby dodać komentarz do odpowiedzi Kamila Maciorowskiego:
W przypadku niektórych plików konieczne będzie,
tail -F file
aby następujące czynności były kontynuowane przez obrót. Na przykład oglądanie syslog.źródło
Jeśli skrypt (lub podstawowa implementacja frameworka) wielokrotnie otwiera i zamyka uchwyt pliku podczas pracy, może napotkać błąd naruszenia zasad udostępniania w otwartym trybie zapisu z następujących powodów:
1) Skrypt może zażądać zapisu dostęp w trybie wyłączności (z wyłączeniem równoczesnego dostępu do odczytu), więc jeśli Twój edytor plików / program przeglądający jeszcze tylko czyta plik, może to spowodować błąd w skrypcie zapisu.
2) Dodatkowo, niektórzy edytorzy / przeglądający pliki blokują plik na cały czas jego otwarcia.
Podsumowując, istnieją możliwe problemy, które zależą od programu używanego do przeglądania pliku. Możliwe są problemy wynikające z implementacji (lub bazowej struktury) skryptu zapisującego do pliku.
źródło
tail -f
lubless +F
jest rutyną.