PS:「ps -o comm = -p $ PPID」は何をしますか?

PS:「ps -o comm = -p $ PPID」は何をしますか?

これを行うスクリプトがありますps -o comm= -p $PPID

これが親プロセス名を取得すると説明します。

マンページでは、カスタム-oフォーマット、commコマンド、-p特定のPIDに応じたプロセス選択を意味することがわかりました。この場合、$PPID親PIDを意味します。

  • どういう意味ですかcomm= -p $PPID
  • このコマンドはどのように機能しますか?

答え1

  • -o comm=これは、ユーザー出力がコマンド名だけでなければならず、列ヘッダーがあってはならないことを意味します。たとえば、これにより-o comm=COMMAND列ヘッダーが印刷されますCOMMAND

     $ ps -o comm= -p $PPID
     xterm
     $ ps -o comm=COMMAND -p $PPID
     COMMAND
     xterm
    
  • -p $PPID特定の親プロセスに対してを選択しますPIDPPID

これは-o comm= -p $PPID、2つの別々のオプションがあることを意味します。

したがって、あなたのコマンドはデフォルトで名前で親プロセスの名前を提供しますPPID

たとえば、ブートすると、tmuxPIDはPID1632です。それでは、bash各ウィンドウでPPIDは1632ですが、独自のPIDを持ついくつかを開始します。

詳細をご覧ください。PIDとPPIDとは何ですか?

わかりませんが、親コマンド名を決定することをお勧めpsします。/proc/$PPID/comm

私の場合、このコマンドを実行すると、以下を使用せずに親プロセスの名前が提供されますps

$ cat /proc/$PPID/comm
tmux
$ cat /proc/1632/comm
tmux

関連情報