回答

收藏

如何从其 PID 中获取进程详细信息

技术问答 技术问答 326 人阅读 | 0 人回复 | 2023-09-12

我现在维护我的系统 (Linux) 上操作过程的 PID 列表。从那时起,如果我能从这个 PID 在过程中获取详细信息太好了。我在那里Go 中遇了 syscall.Getrusage() ,但我没有得到预期的结果。- {  X* C* h/ i$ Y4 _6 V- O
我该怎么办?3 h  M. W; G* i9 s2 z+ Z
                                                               
6 [1 i: P1 F4 K! g3 ?    解决方案:                                                                * [+ d( V. T9 u5 N4 }; T5 B7 X
                                                                这可能不是提问者想要的(关于每个过程 ID 没有太多明确的信息需要什么类型的详细信息),但你可以使用 BASH 命令通过它 pid 获取任务的一些详细信息ps -p $PID(ps是进程的缩写)状态)
/ D/ c, M* r2 J使用默认选项ps -p $PID返回:" c' Q+ z7 F- e2 C7 n4 |
PID:回显进程ID  w, X0 D1 Z; F5 \6 ]
TTY:控制终端名称(如有)
8 N. Y" p+ S8 P6 v% M9 oTIME:自执行以来,该过程使用了多少 CPU 时间(如 00:00:02)
) t6 z# v5 @+ eCMD:调用过程命令(例如java)
可以使用 -o 选项标志显示此过程ID 更多信息。
: `! x; y( B" J9 p这是一个例子,它告诉你一个特定的过程 PID 的完整命令包括参数、用户、组和内存(注意多个 -o 如何取一对标志,如何输出大量空白填充命令):
2 [" [: |# b* ^
    ps -p $PID -o pid,vsz=MEMORY -o user,group=GROUP -o comm,args=ARGS) l0 V+ {/ q: {! t8 h7 D
提示:控制台中的人工读取输出args 作为最后一个选项 - 通常是最长的,否则可能会缩短。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则