支持資源

支持資源

我輸入了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 -aps

使用 just-o comm實際上只是輸出 pid 的執行檔名。這實際上只是意味著-o comm-o command顯示您正在查詢的進程的不同細節。


支持資源

  • ps(1) — Linux 手冊頁

    • 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”進程- 一個在後台,可能與我正在執行的命令行相關,而第二個是桌面會話的客戶端,因此很可能在前台,因此它可以與之互動。 (事實上,當我終止與 -D -a 選項相關的進程並從桌面執行 ssh 會話時,它會要求我再次進行身份驗證,並重新啟動該進程)

相關內容