回答

收藏

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

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

我现在维护我的系统 (Linux) 上操作过程的 PID 列表。从那时起,如果我能从这个 PID 在过程中获取详细信息太好了。我在那里Go 中遇了 syscall.Getrusage() ,但我没有得到预期的结果。6 R8 y* \1 ?0 \4 n/ @: L
我该怎么办?3 N" c/ Z' Z4 H# I
                                                                / d, s5 n4 Z2 u/ A& \2 l4 U
    解决方案:                                                               
/ E* w0 S9 s3 [0 k' X( u                                                                这可能不是提问者想要的(关于每个过程 ID 没有太多明确的信息需要什么类型的详细信息),但你可以使用 BASH 命令通过它 pid 获取任务的一些详细信息ps -p $PID(ps是进程的缩写)状态)
% f. O; A- P7 `- x使用默认选项ps -p $PID返回:2 h  _& o! J* r
PID:回显进程ID& J; [7 k9 v6 G
TTY:控制终端名称(如有)
& t: c  l/ G& t. NTIME:自执行以来,该过程使用了多少 CPU 时间(如 00:00:02), h7 a! T* X' `/ X1 Q8 r) Z
CMD:调用过程命令(例如java)
可以使用 -o 选项标志显示此过程ID 更多信息。, v+ b$ }+ k9 d( K1 K
这是一个例子,它告诉你一个特定的过程 PID 的完整命令包括参数、用户、组和内存(注意多个 -o 如何取一对标志,如何输出大量空白填充命令):  }) P5 n8 `- J7 w
    ps -p $PID -o pid,vsz=MEMORY -o user,group=GROUP -o comm,args=ARGS" N* v  @" Q8 r0 s1 L! V
提示:控制台中的人工读取输出args 作为最后一个选项 - 通常是最长的,否则可能会缩短。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则