欢迎各位兄弟 发布技术文章
这里的技术是共享的
macos # ps -p pid 详解 示例
在 macOS 中,ps
命令用于显示当前运行的进程信息。ps -p pid
是 ps
命令的一个选项,用于显示指定进程 ID(PID)的详细信息。
bashps -p <pid>
-p <pid> ( program id )
: 指定要查询的进程 ID。你可以提供一个或多个 PID,用逗号分隔。
这里 -p 表示 pidlist
-p pidlist Select by PID. This selects the processes whose process ID
numbers appear in pidlist. Identical to p and --pid.
-p pidlist按PID选择。 这将选择其进程ID,,,, 数字出现在pidlist中。 与p和--pid相同。
假设你想查看进程 ID 为 1234
的详细信息,可以使用以下命令:
bashps -p 1234
执行上述命令后,输出可能如下:
PID TTY TIME CMD
1234 ttys000 0:00.15 /Applications/SomeApp.app/Contents/MacOS/SomeApp
PID
: 进程 ID。
TTY
: 进程关联的终端设备。
TIME
: 进程使用的 CPU 时间。
CMD
: 启动进程的命令。
如果你想查看多个进程的详细信息,可以这样使用:
bashps -p 1234,5678,91011
PID TTY TIME CMD
1234 ttys000 0:00.15 /Applications/SomeApp.app/Contents/MacOS/SomeApp
5678 ttys001 0:01.23 /usr/bin/somecommand
91011 ttys002 0:00.45 /usr/bin/anothercommand
-e
: 显示所有进程。
-f
: 显示完整格式的进程信息。
-o
: 自定义输出格式。
例如,使用 -f
选项可以显示更详细的信息:
bashps -fp 1234
UID PID PPID C STIME TTY TIME CMD
501 1234 1233 0 10:00 ttys000 0:00.15 /Applications/SomeApp.app/Contents/MacOS/SomeApp
ps -p pid
是一个非常实用的命令,用于快速查看指定进程的详细信息。通过结合其他选项,你可以获取更丰富的进程信息。
-p 表示什么意思
在 ps
命令中,-p
是一个选项,用于指定要查询的 进程 ID(PID)。它的作用是让 ps
只显示与指定 PID 相关的进程信息。
-p
是 ps
命令的一个参数,表示 process ID。
它后面需要跟一个或多个 PID(进程 ID),用逗号分隔。
如果指定了多个 PID,ps
会显示所有匹配的进程信息。
查看单个进程:
bashps -p 1234
这会显示 PID 为 1234
的进程信息。
查看多个进程:
bashps -p 1234,5678,91011
这会显示 PID 为 1234
、5678
和 91011
的进程信息。
假设执行 ps -p 1234
,输出可能如下:
PID TTY TIME CMD
1234 ttys000 0:00.15 /Applications/SomeApp.app/Contents/MacOS/SomeApp
-e
:显示所有进程。
-f
:显示完整格式的进程信息。
-o
:自定义输出格式。
例如,结合 -f
选项可以显示更详细的信息:
bashps -fp 1234
-p
是 ps
命令中用于指定进程 ID 的选项,它允许你精确地查询某个或某些进程的详细信息。
macos 根据 pid 得到 进程名称
在 macOS 中,可以通过 ps
命令根据 PID 获取进程名称。以下是具体的方法和示例:
ps -p <pid> -o comm=
-p <pid>
:指定进程 ID。
-o comm=
:仅输出进程名称(命令名)。
bashps -p 1234 -o comm=
SomeApp
ps -p <pid> -o command=
-o command=
:输出完整的命令行(包括参数)。
bashps -p 1234 -o command=
/Applications/SomeApp.app/Contents/MacOS/SomeApp --arg1 --arg2
ps -p <pid>
直接使用 ps -p <pid>
会显示进程的详细信息,其中包括进程名称。
bashps -p 1234
PID TTY TIME CMD
1234 ttys000 0:00.15 /Applications/SomeApp.app/Contents/MacOS/SomeApp
其中,CMD
列就是进程名称。
pgrep
和 ps
结合如果你知道进程的部分名称,可以使用 pgrep
找到 PID,再用 ps
获取进程名称。
bashpid=$(pgrep SomeApp) ps -p $pid -o comm=
SomeApp
lsof -p <pid>
lsof
命令可以列出进程打开的文件,其中包括可执行文件路径。
bashlsof -p 1234 | grep txt
SomeApp 1234 user txt REG 1,2 123456 123456789 /Applications/SomeApp.app/Contents/MacOS/SomeApp
其中,txt
行显示的是进程的可执行文件路径。
如果只需要进程名称,推荐使用 ps -p <pid> -o comm=
。
如果需要完整的命令行,可以使用 ps -p <pid> -o command=
。
如果需要更多信息,可以直接使用 ps -p <pid>
或 lsof -p <pid>
。