進一步閱讀

進一步閱讀

ps和列出的進程有什麼差別ps -A

答案1

如果沒有-A, ps 將只列印屬於目前會話的進程。把它想像成「絕對的一切」。在相關說明中-a執行相同的操作,但將其限制為會話所有者(使用者名稱)。

答案2

GNUps指揮部患有嚴重的多重人格障礙。因此,它的手冊頁令人困惑也就不足為奇了。也許查看 BSD 手冊可能會有所幫助。畢竟這個問題標記的

ps當人們牢記兩件事時,BSD 的操作相當簡單:

  • 使用兩個基本過濾器選擇要顯示的進程。這些過濾器是預設情況下,命令列選項將它們打開離開。樸素的樸素ps就這樣通過兩者過濾掉了。
  • BSD 語法可以追溯到很久以前。儘管現代 BSD 使用getopt以減號為前綴的選項約定,但此處相關的選項和行為與 30 年前大致相同。

該行為是這樣的:

  • -a(歷史上a)的選擇關掉所有“選擇器”過濾。
    • 其他各種命令列選項指定選擇器:-U按 UID 選擇、-t按控制終端名稱選擇、-p按進程 ID 選擇等等。所有這些都被繞過了-a
    • 如果沒有明確提供選擇器,則預設選擇器是僅顯示與呼叫 的使用者俱有相同有效 UID 的進程ps。此預設選擇器是此選項關閉的歷史過濾器。
  • -x(歷史上x)的選擇關掉ps僅顯示具有控制終端的進程的限制。

從歷史上看,BSDps沒有A選擇。但是現代 BSD 實現了一個-A選項,也可以用作A,以(在一定程度上)與(後來的)單一 UNIX 規範相容。 -A與同時使用-aand是一樣的-x:它關閉這兩個限制,留下一個保留所有進程,不進行過濾。

OpenBSD 和 NetBSD 記錄了該-A選項,在 NetBSD 的情況下明確為-a -x. FreeBSD 沒有,但原始程式碼中的註釋指出它是作為故意未記錄的 SUSv5 相容性選項而存在的。

進一步閱讀

  • ps1983 年 4 月 13 日。 4.2BSD 手冊頁。
  • psOpenBSD 手冊頁。
  • ps2009年10月22日。 NetBSD 手冊頁。
  • ps2014年8月7日。 FreeBSD 手冊頁。

相關內容