在SunOS上,有一个pargs命令用于打印传递给正在运行的进程的命令行参数。

在其他Unix环境中是否有类似的命令?


当前回答

在Linux终端上尝试ps -n。这将显示:

1.所有正在运行的进程,它们的命令行和pid

程序启动进程。

之后,您将知道该终止哪个进程

其他回答

你可以简单地使用:

ps -o args= -f -p ProcessPid

除了以上所有转换文本的方法外,如果你只是使用'strings',默认情况下它会使输出在单独的行上。附加的好处是,它也可以防止任何字符,可能扰乱你的终端出现。

两个输出在一个命令:

字符串/proc//cmdline /proc// about

真正的问题是……是否有一种方法可以查看Linux中被修改的进程的真实命令行,以便cmdline包含修改后的文本,而不是实际运行的命令。

在Solaris

     ps -eo pid,comm

类似的可以用于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