まだ作成されていないファイル追跡を開始する方法

まだ作成されていないファイル追跡を開始する方法

私はそれをtailディスクに書き込む作業の進行状況を監視するために使用します。ほぼ常に実行を開始する前に、どのファイルが生成されるかを知っています。 (作業はスーパーコンピュータのスケジューラによってスケジュールされます。)

tailこれらのファイルを作成する前に処理する方法はありますか?避けながらやりたい競争条件ジョブがディスクに書き込まれる方法とタイミングを想定します。

答え1

テールフラグを使用してください(GNU coreutilsのフラグが-Fあると仮定):tail

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

から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

答え2

実装tailに対応するオプションがない場合は、--retryおそらく直接ファイルをだまして作成できます。

$ touch file && tail-f file

所有権と権限の要件によっては、これで十分です。

関連情報