Cara memulai tailing file yang belum dibuat

12

Saya gunakan tailuntuk memantau kemajuan pekerjaan yang saya tahu akan menulis kemajuan mereka ke disk. Hampir selalu, saya tahu file mana yang akan mereka buat sebelum mereka mulai berjalan (pekerjaan dikirim oleh penjadwal pada superkomputer)

Apakah ada cara untuk tailfile-file ini sebelum dibuat? Saya ingin melakukannya sambil menghindari kondisi balapan dan / atau membuat asumsi tentang bagaimana atau kapan pekerjaan menulis ke disk.

Amelio Vazquez-Reina
sumber

Jawaban:

13

Gunakan -Fflag to tail (dengan anggapan Anda miliki taildari GNU coreutils):

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

Dari 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
larsks
sumber
3

Jika tailimplementasi Anda tidak memiliki --retryopsi, Anda mungkin bisa menipu dan membuat file sendiri:

$ touch file && tail-f file

Bergantung pada persyaratan Anda sehubungan dengan kepemilikan dan izin yang mungkin cukup.

terdon
sumber