Command-Line
使用“ps”確定 UNIX 程序工作目錄的最佳方法是什麼?
我正在執行一個 Ruby 命令行腳本 (
rufus.sh
),它最終會呼叫Thread.new
,它會生成一個 UNIX 程序,如下所示。我為超過 1 個目錄執行此腳本,ps
命令輸出如下所示。下面的最後一列(最右邊)是COMMAND
(COMD
),它本質上是程序的名稱。問題是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
我不確定這是否能回答您的問題,但
pwdx
可以為您提供任何程序的目前工作目錄。像這樣:
pwdx <PID>
你也可以按照 Ulrich Schwarz 所說的執行
ls -l /proc/PID/cwd
也許你會發現它是
/proc/(pid)/cwd
. 看起來很像,但我不太自在/proc
。