プロセスが実行されているフォルダーを確認する方法は?


15

* nixではps、実行中のプロセスを確認するために使用できます。しかし、実行可能ファイルがデバイス内に複数の同種のファイルを持っている場合、どこから起動されたかはわかりません。

これは、このテーマに関する前回の質問とは少し異なります。 実行中のプロセスの絶対パスを知るにはどうすればよいですか?

回答:



7

rom HUBの答えを導き出した:

readlink /proc/<PID>/cwd

あるいは

readlink /proc/$(pgrep <program_name>)/cwd

+1の出力はreadlink、スクリプトでより適切に解析できます。
マルコレオグランデ

2

プロセスが呼び出された場所あなたが言うことができないから、それは現在唯一の場所、です。のcwd代わりに(「現在の作業ディレクトリ」)リンクを見てくださいexe



1

このコマンドは機能するはずです。少しの回避策ですが、少なくとも私のマシンでは動作します。

strlist for $(ps e PID); do if [$ {strlist:0:4} = "PWD ="]; echo $ {strlist:4}; fi; done


0

走ったとき

ps auxwwwe | grep executableName > dump
vim dump

私は知っていたパスの一部を探すことができ、コマンドがどのサブディレクトリから呼び出されたかを見つけました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.