“ps”输出和注释

“ps”输出和注释

我很确定你不能这样做,但也许有人有一些奇怪的技巧。

有没有办法让评论(#blahblah)显示在 ps 输出中?

我的问题是我有一个脚本——我们称之为“myscript.sh”——它的描述性不是很好。

我很乐意能够做这样的事情:

 ./myscript.sh #Running on 10.10.45.10

并让 ps 输出注释行,而不只是说“myscript.sh”

我能想到的破解它的唯一方法是将注释放在一个变量中,grep 出“myscript.sh”PID,然后从 /proc/PID/environ 读取该变量。但这非常难看,并且需要 root。

答案1

使用 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 "$$"

相关内容