Linux

在“ps”命令的上下文中,“-P”是什麼意思?

  • May 4, 2022

如果執行ps -p 3384 3395(observe-p為小寫)則輸出如下:

 PID TTY      STAT   TIME COMMAND
3384 tty6     S+     0:00 man ls
3395 tty6     S+     0:00 pager

直到這裡一切都很好,並且是意料之中的。

只是錯誤地執行了ps -P 3384 3395(觀察-P大寫)然後輸出如下:

PID PSR TTY      STAT   TIME COMMAND
3384   2 tty6     S+     0:00 man ls
3395   3 tty6     S+     0:00 pager

觀察在這個輸出中出現了一個新的標題 - 它是PSR

問題

  • -P在命令的上下文中是什麼意思ps

是的,我已經閱讀了兩者man ps以及選項/參數ps --help all的文件分別出現在哪裡-p,如下所示:

 # Approach 1
  p pidlist
    Select by process ID. Identical to -p and --pid.

 -p pidlist
    Select by PID. This selects the processes whose process ID numbers appear in pidlist.  
    Identical to p and --pid.

 # Approach 2
 -p, p, --pid <PID> process id
       --ppid <PID> parent process id

但大約-P並沒有出現什麼。老實說,當ps命令執行時-P- 理論上我預計會出現錯誤,因為-P不存在,因為-P沒有記錄。

額外問題

  • 如果-P理論上不存在,因為沒有記錄,為什麼沒有拋出錯誤?
  • 是什麼PSR意思?

我不知道為什麼-P沒有記錄。我想知道該功能是否在過去的某個時候沒有得到完全支持?

-P(或-o psr)將輸出設置為 include PSR,手動狀態為:

      psr         PSR       processor that process is currently assigned to.

ps 的幫助程式碼中有一條註釋表明幫助-P中“缺少”。回到我能找到的初始簽入,其他幾個標誌曾經被如此標記(包括-c-L-M)。這是我在幫助頁面中看到的唯一仍然列為缺失的“破折號”選項。

引用自:https://unix.stackexchange.com/questions/701422