入力するps -p 3454 -o command
と、次のような出力が得られました。
COMMAND
/usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh
ここでは何を-D -a
意味しますか?
を使用するとps -p 3454 -o comm
、/run/user.... 出力は得られず、コマンド のみが得られますssh-agent
。
ここでの /run/user.... の意味は何ですか? またcomm=
、comm
同じですか?
答え1
によるとps(1) — Linux マニュアルページps
私のテストによると、この出力を明確にするためにいくつかの詳細がここにあります。これにより、実行しているコマンドで何が起こっているかをよりよく理解できるようになります。
あなたの命令はこれだけですps -p 3454 -o command
- この
ps -p 3454
部分は、pidのアクティブな実行中のプロセスの詳細を取得します。3454
- この
-o command
部分は、pidに関連付けられた実行中のプロセスの実際のコマンドと引数を出力します。
これを実行した際にPIDの3453
詳細が表示されましたが、sshエージェントプロセス。コマンドがスナップショットを取った時点で使用されていたパラメータの生-o command
のコマンドと引数を出力します。ssh-agent
-D -a
ps
just を使用すると-o comm
、実際には、その pid の実行ファイル名のみが出力されます。これは、照会しているプロセスのさまざまな詳細を表示することを-o comm
意味します。-o command
サポートリソース
-
comm
:- コマンド名を表示します (実行可能ファイル名のみ)。コマンド名の変更は表示されません。この列の出力にはスペースが含まれる場合があります。
command
:- コマンドとそのすべての引数を文字列として表示します。引数の変更も表示される場合があります。この列の出力にはスペースが含まれる場合があります。
答え2
「-D -a」は PS とは関係ありません。PS はプロセスをリストします。実行中のプロセスは「/usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh」です。つまり、-D -a は ssh-agent に渡されるパラメーターです。
ssh-agent に関しては、-D はフォアグラウンドで実行することを意味し、-a は「すべてのアドレスにバインドする」ことを意味します。
私の Ubuntu システムでは、2 つの「ssh-agent」プロセスが見られます。1 つはバックグラウンドで、おそらく私が行っているコマンド ライン処理に関連しています。もう 1 つはデスクトップ セッションのクライアントなので、おそらくフォアグラウンドで、それと対話できるようになっています。(実際、-D -a オプションを使用して 1 つに関連付けられたプロセスを終了し、デスクトップから ssh セッションを実行すると、再度認証するように求められ、そのプロセスが再起動されます)