Ps

“ps”輸出和註釋

  • October 6, 2016

我很確定您不能這樣做,但也許有人有一些奇怪的技巧。

有沒有辦法讓評論(#blahblah)出現在 ps 輸出中?

我的問題是我有一個腳本——我們稱之為“myscript.sh”——它的描述性不是很強。

我希望能夠做類似的事情:

./myscript.sh #Running on 10.10.45.10

並讓 ps 輸出註釋行,而不僅僅是說“myscript.sh”

我能想到破解它的唯一方法是將註釋放在一個變數中,grep 出“myscript.sh”PID,然後從 /proc/PID/environ 讀取該變數。但這非常難看,並且需要root。

使用 zsh,您可以執行以下操作:

#! /bin/zsh -
(($+ARG0_SET)) || ARG0_SET= ARGV0="#Running on 10.10.45.10" exec zsh "$0" "$@"
ps -f -p "$$"

執行時給出:

~$ ./a
UID        PID  PPID  C STIME TTY          TIME CMD
chazelas 20157  8822  0 21:51 pts/1    00:00:00 #Running on 10.10.45.10 ./a

ksh93相當於:

#! /bin/ksh93 -
((${#ARG0_SET})) || ARG0_SET=yes exec -a "#Running on 10.10.45.10" ksh93 "$0" "$@"
ps -f -p "$$"

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