0

システム プロセス情報を取得するためのポータブル シェル スクリプトを作成しています。プロセス ID、コマンド、pwdx (Linux) が必要です。Linux では、次のようにこの情報を取得できます..しかし、他のすべての UNIX フレーバーでは失敗します。

 $ ps -awwwwwww -u <userid> -o pid,cmd|grep -i <filter_term> | egrep -v grep
 $ pwdx <pid>

同様の情報を取得するために AIX、HPUX、Solaris で使用する必要があるもの、またはクロスプラットフォーム コマンドがあります。

Solaris で /usr/ucb/ps を試してみましたが、フォーマットされた出力と lsof を pwdx と同等にサポートしていますが、必要なものが表示されません

4

3 に答える 3

2

Solaris では /usr/ucb/ps を試しましたが、フォーマットされた出力をサポートしています:

フォーマットされた出力の何が問題になっていますか?

pwdxに相当するものはlsofですが、それも必要なものを示していません。

それは意味がありません。pwdxは Solaris ネイティブ コマンドであり、もともとその OS に実装されていました。

于 2012-04-19T06:19:53.017 に答える
0

完全なコマンド名を表示するには、これを使用します

ps -eo comm

これにより、実行されたコマンドが表示されます。(ps は、Solaris システム 5.11 の /usr/bin からのものです)

于 2018-09-06T17:39:51.427 に答える
0

Linux != Unix。また、コマンドが常に同じになるとは限りません。たとえば、GNU ps は、Solaris ps や HP-UX ps とは異なります。場合によっては、ベンダーの Unix フレーバーが、 /usr/ucb (solaris では)。ただし、最終的には、各バージョンのマニュアル ページを見て、出力形式のオプションを確認する必要があります。

編集。これは、一般的にすべてのコマンドです。grep、egrepなどを含みます。

于 2012-05-23T01:21:32.457 に答える