カテゴリ: Linuxコマンド集 更新日: 2026/01/29

tail --pidオプションの使い方を完全ガイド!指定プロセス終了時に自動でtailを止める方法

tail --pidオプション|指定したプロセスが終了したらtailも終了する
tail --pidオプション|指定したプロセスが終了したらtailも終了する

先生と生徒の会話形式で理解しよう

生徒

「Linuxでtail -fでログ監視してるんですが、別の処理が終わったら自動で止まってほしいなと思って…」

先生

「そんなときは--pidオプションを使うと、特定のプロセスが終了したらtailも一緒に止まってくれますよ。」

生徒

「プロセスってなんですか?番号ってどうやって調べるんですか?」

先生

「いい質問ですね。まずはプロセスとPID(プロセスID)の基本から丁寧に説明しましょう!」

1. tailコマンドとは?

1. tailコマンドとは?
1. tailコマンドとは?

tailコマンドは、ファイルの最後の部分(末尾)を表示するためのLinuxコマンドです。特にログファイルの確認によく使われ、-fオプションを使えば、リアルタイムで追跡(監視)できます。

たとえばWebサーバーのログを見ているときに、新しいアクセスが記録されるたびに、その内容が自動で表示されるようになります。

2. プロセスとPIDって何?

2. プロセスとPIDって何?
2. プロセスとPIDって何?

プロセスとは、Linuxで動いている1つ1つの「実行中のプログラム」のことです。たとえば、Firefoxやエディター、バックグラウンドで動いているサービスなどもすべてプロセスです。

それぞれのプロセスには「PID(プロセスID)」という番号が割り振られています。人間でいうと名前や社員番号のようなもので、Linuxがそれぞれの動作を識別するために使っています。

現在動いているプロセスのPIDを調べるには、psコマンドやpgrepコマンドを使います。


ps aux | grep firefox
(firefoxの行に表示されている数字がPID)

3. --pidオプションの基本的な使い方

3. --pidオプションの基本的な使い方
3. --pidオプションの基本的な使い方

--pidオプションは、「指定したPIDのプロセスが終了したら、自動的にtailコマンドも終了する」という便利な機能です。

通常、tail -fでログファイルを見ていると、ずっと止まらないというのがデフォルトの動作です。しかし、--pidを使えば、たとえば「このスクリプトが終わったらtailも止める」といった使い方ができます。

4. 実例で学ぶ!tail --pidの使い方

4. 実例で学ぶ!tail --pidの使い方
4. 実例で学ぶ!tail --pidの使い方

たとえば、sleep 10というコマンド(10秒間だけ待機する)をバックグラウンドで動かして、そのPIDを使ってtailを制御してみましょう。

まずはsleepを実行して、そのPIDを確認します。


sleep 10 &
echo $!
12345

$!は、「直前にバックグラウンドで実行したコマンドのPID」を取得するための特殊な変数です。ここではPIDが12345と仮定します。

このPIDを使って、tail --pidを実行してみます。


tail -f --pid=12345 /var/log/syslog
(10秒後、sleepが終了するとtailも自動で終了します)

5. tail --pidのメリットとは?

5. tail --pidのメリットとは?
5. tail --pidのメリットとは?

tail --pidを使うことで、他の処理の完了と連動してtailを終了させたいというニーズに応えることができます。特にスクリプトやバッチ処理の中で、「ある処理の監視が終わったらtailも止めたい」といった場面で非常に役立ちます。

例えば、あるツールのインストール中にログを監視し、インストールが終わったら自動でtailを閉じたい場合などに使われます。

6. --pidオプションはどんなときに便利?

6. --pidオプションはどんなときに便利?
6. --pidオプションはどんなときに便利?
  • バックアップスクリプトが終わったらログ監視を止めたいとき
  • 他のプロセスのログをリアルタイムで見つつ、終わったら自動で抜けたいとき
  • 複数の処理を並行して行うスクリプトで、自動終了制御したいとき

このようにtail --pidは、自動化や効率化に役立つ便利なオプションです。

7. よくあるエラーと注意点

7. よくあるエラーと注意点
7. よくあるエラーと注意点

--pidで指定したPIDがすでに終了している場合、tailはすぐに終了してしまいます。正しく動作させるためには、対象のプロセスがまだ実行中である必要があります。

また、tailは指定したログファイルにアクセス権限が必要です。ログによってはsudoが必要な場合もあるため注意しましょう。


sudo tail -f --pid=12345 /var/log/auth.log
(root権限で認証ログを監視し、プロセス終了でtailも停止)

8. --pidと組み合わせて便利なオプション

8. --pidと組み合わせて便利なオプション
8. --pidと組み合わせて便利なオプション

--pidは、他のオプションと一緒に使うとさらに便利になります。

  • -nオプション:表示する行数を指定
  • -Fオプション:ファイルが切り替わっても追跡継続

たとえば次のように使えば、ログの最新10行を表示しつつ、ファイルが切り替わっても監視し、指定プロセスが終わったら終了します。


tail -n 10 -F --pid=12345 /var/log/syslog
(柔軟なログ監視が可能になります)

9. --pidが対応していない環境もある?

9. --pidが対応していない環境もある?
9. --pidが対応していない環境もある?

tail --pidは、GNU版のtailでのみ利用可能です。もしエラーになる場合は、--versionでバージョンを確認してみましょう。


tail --version
tail (GNU coreutils) 8.32

古いディストリビューションや、BusyBoxのような軽量Linuxでは未対応の場合もあります。

カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
grep -sオプションの使い方を完全ガイド!エラーを非表示にして静かに検索しよう
New2
ファイル・ディレクトリ操作
mv --backupオプションの使い方|バックアップを作成しながら安全に移動する方法
New3
ファイル・ディレクトリ操作
lsコマンドの-rオプション|逆順(降順)でファイルを並べる方法を初心者向けに解説!
New4
ファイル・ディレクトリ操作
find -printオプションとは?初心者でも理解できるLinux検索結果の出力方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
cdコマンドとは?Linuxでディレクトリを移動する基本を初心者向けに解説
No.3
Java&Spring記事人気No3
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
lsコマンドの-lオプションでファイルの詳細情報を一覧表示しよう!初心者でもわかる使い方と意味を徹底解説