「ps」を使用してUNIXプロセスの作業ディレクトリを決定する最良の方法は何ですか?

「ps」を使用してUNIXプロセスの作業ディレクトリを決定する最良の方法は何ですか?

私は最終的にを呼び出すRubyコマンドラインスクリプト(rufus.sh)を実行していますがThread.new、これは以下のようにUNIXプロセスを生成します。複数のディレクトリに対してこのスクリプトを実行しました。psコマンドの出力は次のとおりです。下の最後の(最も右側の)列はCOMMANDCOMD)で、これは基本的にプロセスの名前です。問題は、COMMAND作業ディレクトリ(プロセスの開始時に現在のディレクトリ)が含まれないことです。この問題を解決または含めるための最良の方法は何ですかCOMMAND?ありがとう、チラグ

ps -ef | grep runner
web       7532     1  0 Oct08 ?        00:02:08 /usr/local/bin/ruby ./script/runner ./config/jobs/control.rb critical_alert start
web      21114     1  1 Oct09 ?        02:49:28 /usr/local/bin/ruby ./script/runner ./config/jobs/control.rb task start
web      19028     1  1 10:45 pts/0    00:00:34 /usr/local/bin/ruby ./script/runner ./config/jobs/control.rb task start
web      19029     1  0 10:45 pts/0    00:00:10 /usr/local/bin/ruby ./script/runner ./config/jobs/control.rb critical_alert start

ベストアンサー1

これがあなたの質問に答えるかどうかはわかりませんが、pwdxすべてのプロセスの現在の作業ディレクトリを提供します。

このように:

pwdx <PID>

Ulrich Schwarzが言ったように走ることもできます。

ls -l /proc/PID/cwd

おすすめ記事