显示正在运行的进程中不可打印的参数

显示正在运行的进程中不可打印的参数

ps aux显示服务器上运行的命令,但不以任何有用的方式显示不可打印的参数。

mycmd.sh:

#!/bin/bash
while true
do
        sleep 5
done

执行它:

/mycmd.sh `printf "\x90\x90\x90"`

会给:

> ps aux
/bin/bash ./mycmd.sh ???

有没有办法列出正在运行的实际命令?包括不可打印的字符?

答案1

您可以使用pstree它显示参数,例如 pid 18592:

$ pstree -a 18592
bash /tmp/mycmd.sh \220\220\220

或者你可以直接查看/proc流程:

$ cat -v /proc/18592/cmdline | sed  's/\^@/ /g;s/$/\n/'
bash /tmp/mycmd.sh M-^PM-^PM-^P 

相关内容