2017-09-24 8 views
1

私はこの行を持つ既に書かれたスクリプトを持っています。この行の意味は誰にも分かりますか?私はユーザーとちょっと混乱しています:20部どのps -e -oユーザー:20、pidの意味ですか?

ありがとう!

+0

この種の質問に対する自動回答源については、https://explainshell.com/を参照してください。そして将来、標準のUNIXツールの使用に関する質問は、[unix.se]や[SuperUser](https://superuser.com/)に適しています。 。 –

+0

ところで、 'PID ='は実際にはシェル内の代入ではありません(代入は '='の周りにスペースを入れることはできず、コマンドの出力を取り込むためにはコマンド置換が必要です)。 –

答えて

2

psは、システム現在で実行中のプロセスを表示するために使用されるコマンド名です。

-eは、「短い」オプションです。つまり、すべてプロセスがリストされます。

-o user:20,pid,cmdはつまり、我々は(プロセスを所有する)ユーザ名を格納するための最初の列をしたい、スクリーンに印刷される行の期待形式を設定し、オプションでプロセスIDを表示するには20文字、2番目の列をパディングされ、プロセスを開始するために使用されたコマンド名を含む3番目の列。それだけ。

また、自分で端末でこれを実行しようとすると、ps -e -o user:20,pid,cmdとなり、何が起こるかを確認できます。 psのmanページから

1

-o format 
      User-defined format. format is a single argument in the form of a blank-separated or comma-separated list, which offers a way to specify 
      individual output columns. The recognized keywords are described in the STANDARD FORMAT SPECIFIERS section below. Headers may be renamed (ps 
      -o pid,ruser=RealUser -o comm=Command) as desired. If all column headers are empty (ps -o pid= -o comm=) then the header line will not be 
      output. Column width will increase as needed for wide headers; this may be used to widen up columns such as WCHAN (ps -o pid,wchan=WIDE- 
      WCHAN-COLUMN -o comm). Explicit width control (ps opid,wchan:42,cmd) is offered too. The behavior of ps -o pid=X,comm=Y varies with 
      personality; output may be one column named "X,comm=Y" or two columns named "X" and "Y". Use multiple -o options when in doubt. Use the 
      PS_FORMAT environment variable to specify a default as desired; DefSysV and DefBSD are macros that may be used to choose the default UNIX or 
      BSD columns. 

Explicit width control (ps opid,wchan:42,cmd) is offered too. 

だから、あなたは、20文字の幅とuser列を取得します。

0

ps - このコマンドは、現在のプロセスのスナップショットを報告します。

-eこのオプションは、すべてのプロセスを選択するのに役立ちます。-Aに固有です。

-oこのオプションは、ユーザー定義の形式を指定するのに役立ちます。

ユーザー:20、これがPS command.Theの出力をフォーマットするのに役立ちます ユーザー:20いくつかの余分な20空白文字列をビトウィーンズ追加されます。この例の下で、違いを見つけるのに役立ちます。今

[email protected] ~ $ ps -e -o user:20,pid 
    USER     PID 
    root     2926 
    jdeveloper   2948 
    root     3255 
    root     3570 
    root     3802 
    jdeveloper   3825 
    jdeveloper   3860 

、応答した10文字のスペースパディングを試すことができます。

[email protected] ~ $ ps -e -o user:10,pid 
USER   PID 
root  2926 
jdeveloper 2948 
root  3255 
root  3570 
root  3802 
jdeveloper 3825 
jdeveloper 3863 

男command.Try

[email protected] ~ $ man ps 

を使用してpsコマンドについての詳細を見つけるには、それはあなたを助けることを願っています。

関連する問題