バックグラウンドで起動しているプロセスを探す

バックグラウンドで起動しているプロセスを探すバックグラウンドで実行しているプロセスを見失った時に探し出す方法です。結論としては、

$ ps ax | grep <検索対象コマンド等>

で行けると思います。僕の場合は、jekyllというコマンドを実行していたので、ps ax | grep jekyllで見つけ出すことが出来ました。

どうして見つからなくなったのか

まず、処理をバックグラウンドで行いたいと思い、jekyll serve &ということをやりました。この時点では、jobsコマンドでバックグラウンドの処理が表示されていたし、psを行うとちゃんと実行中の処理が見えていました。

その後、jekyll serve &を実行したターミナルのタブを閉じると、jobsにもpsにもjekyllのプロセスが表示されなくなりました。そして、上記のコマンドで探し当てることが出来ました。なんで見えなくなったんだろう。ちなみに、TTYが ?? になるんですね。単純にpsに引数-x付けないと制御端末のないプロセスの情報取得できないことと、jobsは制御端末が自分のjobだけ出力する(?)というのを知らなかったから探せなかったのかな。

Pocket
LINEで送る

You may also like...