在SunOS上,有一个pargs命令用于打印传递给正在运行的进程的命令行参数。
在其他Unix环境中是否有类似的命令?
在SunOS上,有一个pargs命令用于打印传递给正在运行的进程的命令行参数。
在其他Unix环境中是否有类似的命令?
当前回答
Linux中用空格打印/proc/PID/cmdline的另一个变体是:
cat -v /proc/PID/cmdline | sed 's/\^@/\ /g' && echo
这样,cat将NULL字符打印为^@,然后使用sed将它们替换为空格;Echo输出换行符。
其他回答
在Linux上
cat /proc/<pid>/cmdline
输出进程的命令行<pid>(命令包括参数)每条记录以NUL字符结束。
Bash Shell示例:
$ mapfile -d '' args < /proc/$$/cmdline
$ echo "#${#args[@]}:" "${args[@]}"
#1: /bin/bash
$ echo $BASH_VERSION
5.0.17(1)-release
在Linux终端上尝试ps -n。这将显示:
1.所有正在运行的进程,它们的命令行和pid
程序启动进程。
之后,您将知道该终止哪个进程
Linux中用空格打印/proc/PID/cmdline的另一个变体是:
cat -v /proc/PID/cmdline | sed 's/\^@/\ /g' && echo
这样,cat将NULL字符打印为^@,然后使用sed将它们替换为空格;Echo输出换行符。
这样就可以了:
xargs -0 < /proc/<pid>/cmdline
如果没有xargs,参数之间将没有空格,因为它们已被转换为NULs。
ps -eo pid,args打印pid和完整的命令行。