必要なもの: 現在実行中のすべての実行可能ファイルとそのフルパスのリスト。
このようなもの:
1234 /実行可能ファイルのフルパス 4567 /実行可能ファイルへのフルパス2
次のようUNIX95= ps -exo pid,comm
にPIDとコマンドのリストを取得できます。
11146 /opt/wbem/lbin/cimprovagt 0 4 8 ルートIOTreeモジュール 8338 /opt/ssh/libexec/sftp-サーバー 16684 postgres: sfmdb evweb [ローカル] アイドル 2518 /usr/sbin/stm/uut/bin/tools/モニター/WbemWrapperMonitor 2264 /usr/sbin/psb/bin/diagtxd 8340 -sh 7772 sshd: ルート@pts/0 8333 sshd: root@pts/1 7777 /opt/ssh/libexec/sftp-サーバー
これは私が を使って得た最も近い結果ですps
が、まだ十分ではありません。
- 一部の行にはフルパスが含まれていません (フルパスを使用して開始されていないためと思われます)。
- 実行可能ファイル名の後の追加データ (名前にスペースが含まれる実行可能ファイルをサポートする必要があるため、文字列を分割することはできません)
したがって、ps
私はそれでは完全には解決できないという結論に達しました。
Linux の /proc に相当するものはありますか? /proc/{pid}/exe は実行可能ファイルを指します。ない場合は、これを実現する別の方法がありますか?
前もって感謝します、
答え1
pfiles <pid>
実行可能ファイルへの完全なパスを一覧表示できます。
例:
抜粋UNIX95=1 ps -efo pid,comm
1666 cimprovagt
さあ走ろうpfiles 1666
1666: /opt/wbem/lbin/cimprovagt
0: S_ISCHR mode:666 dev:64,3 ino:124 uid:2 gid:2 rdev:3,2
flags = O_RDONLY|O_LARGEFILE
file = /dev/null
最初の行には実行可能ファイルへの完全なパスが表示されます。私の目的にはこれで十分です。