欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

macos # ps -p pid 详解 示例 AG chatgpt 有大用 有大大用

macos # ps -p pid  详解 示例

在 macOS 中,ps 命令用于显示当前运行的进程信息。ps -p pid 是 ps 命令的一个选项,用于显示指定进程 ID(PID)的详细信息。

命令格式

bash    
ps -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 的详细信息,可以使用以下命令:

bash    
ps -p 1234    


输出示例

执行上述命令后,输出可能如下:

  PID TTY           TIME CMD
 1234 ttys000    0:00.15 /Applications/SomeApp.app/Contents/MacOS/SomeApp


输出字段说明

  • PID: 进程 ID。

  • TTY: 进程关联的终端设备。

  • TIME: 进程使用的 CPU 时间。

  • CMD: 启动进程的命令。

多个 PID 示例

如果你想查看多个进程的详细信息,可以这样使用:

bash    
ps -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 选项可以显示更详细的信息:

bash    
ps -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 会显示所有匹配的进程信息。

示例

  1. 查看单个进程:

    bash
    ps -p 1234

    这会显示 PID 为 1234 的进程信息。

  2. 查看多个进程:

    bash
    ps -p 1234,5678,91011

    这会显示 PID 为 12345678 和 91011 的进程信息。

输出示例

假设执行 ps -p 1234,输出可能如下:

  PID TTY           TIME CMD
 1234 ttys000    0:00.15 /Applications/SomeApp.app/Contents/MacOS/SomeApp

其他相关选项

  • -e:显示所有进程。

  • -f:显示完整格式的进程信息。

  • -o:自定义输出格式。

例如,结合 -f 选项可以显示更详细的信息:

bash
ps -fp 1234

总结

-p 是 ps 命令中用于指定进程 ID 的选项,它允许你精确地查询某个或某些进程的详细信息。



macos 根据 pid  得到 进程名称

在 macOS 中,可以通过 ps 命令根据 PID 获取进程名称。以下是具体的方法和示例:


方法 1:使用 ps -p <pid> -o comm=

  • -p <pid>:指定进程 ID。

  • -o comm=:仅输出进程名称(命令名)。

示例

bash
ps -p 1234 -o comm=

输出

SomeApp

方法 2:使用 ps -p <pid> -o command=

  • -o command=:输出完整的命令行(包括参数)。

示例

bash
ps -p 1234 -o command=

输出

/Applications/SomeApp.app/Contents/MacOS/SomeApp --arg1 --arg2

方法 3:使用 ps -p <pid>

直接使用 ps -p <pid> 会显示进程的详细信息,其中包括进程名称。

示例

bash
ps -p 1234

输出

  PID TTY           TIME CMD
 1234 ttys000    0:00.15 /Applications/SomeApp.app/Contents/MacOS/SomeApp

其中,CMD 列就是进程名称。


方法 4:使用 pgrep 和 ps 结合

如果你知道进程的部分名称,可以使用 pgrep 找到 PID,再用 ps 获取进程名称。

示例

bash
pid=$(pgrep SomeApp) ps -p $pid -o comm=

输出

SomeApp

方法 5:使用 lsof -p <pid>

lsof 命令可以列出进程打开的文件,其中包括可执行文件路径。

示例

bash
lsof -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>




普通分类: