这是在Linux上查看进程路径的命令
ps -auxwe | grep 24466 ( 24466 is only example )
但请问是否可以在 Solaris 上查看正在运行的进程的路径
如果是,那么 Solaris 的 ps 语法是什么?
答案1
您可以在 solaris 和 linux 中使用 pwdx。
密码<pid_number>
例子:
pwdx $$
25711: /export/home/pippo
答案2
如何知道正在运行的进程的绝对路径?
如果“绝对路径”是指正在运行的二进制文件的完整路径,那么这在我安装的 Solaris 11 副本上有效:
pmap PID | grep -v ':' | head 1 | awk '{ print $4 }'
将其替换PID
为您感兴趣的进程的进程 ID。
pmap
发出进程的地址映射,包括映射源文件的完整路径。这包括实际的二进制文件,即第一个映射输出的行。输出的第一行包含进程 ID 和进程参数。请注意,进程参数不足以完全识别正在运行的可执行文件的完整路径。实际地址空间映射的前几行是来自实际执行二进制文件的映射,并列出了二进制文件的完整绝对路径。
不幸的是,您需要流程图的读取权限才能获取该信息。如果没有该权限,我不知道如何获取您正在寻找的信息。
编辑:Solaris 11 上也有/proc/[PID]/path/a.out
,它是指向实际二进制文件的软链接:
在bash中:
bash-4.1$ readlink /proc/$$/path/a.out
/usr/bin/bash
请注意/proc/$$/path/a.out
优于/proc/self/path/a.out
:
bash-4.1$ readlink /proc/self/path/a.out
/usr/bin/readlink
不幸的是,如果您无权通过访问进程图pmap
,则您可能无法访问/proc/[PID]/path/a.out
,因为我的 Solaris 11 安装的权限/proc/[PID]/path
全部为 500 - 只有所有者和 root 对该目录具有读取和执行权限。
答案3
/usr/ucb/ps auxwwww | grep 6851 在 SunOS servername01 5.10 Generic_147440-25 sun4u sparc SUNW、Sun-Fire-V490 上对我有用