Jak rozpocząć dostosowywanie pliku, który nie został jeszcze utworzony


12

Używam taildo monitorowania postępu zadań, o których wiem, że zapiszą ich postęp na dysku. Prawie zawsze wiem, który plik utworzą przed uruchomieniem (zadania są wysyłane przez program planujący na superkomputerze)

Czy istnieje sposób na tailte pliki przed ich utworzeniem? Chciałbym to zrobić, unikając warunków wyścigu i / lub zakładając, jak i kiedy zadania zapisują na dysk.

Odpowiedzi:


13

Użyj -Fflagi do ogona (zakładając, że masz tailz GNU coreutils):

tail -F file-that-does-not-exist

Od man tail:

   -F     same as --follow=name --retry
   --retry
          keep trying to open a file even when it is or becomes inaccessi
          ble; useful when following by name, i.e., with --follow=name
   -f, --follow[={name|descriptor}]
          output appended data as the file grows; -f, --follow, and --fol
          low=descriptor are equivalent

3

Jeśli twoja tailimplementacja nie ma takiej --retryopcji, prawdopodobnie możesz po prostu oszukać i sam utworzyć plik:

$ touch file && tail-f file

W zależności od wymagań dotyczących własności i uprawnień, które mogą być wystarczające.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.