回答

收藏

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

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

我现在维护我的系统 (Linux) 上操作过程的 PID 列表。从那时起,如果我能从这个 PID 在过程中获取详细信息太好了。我在那里Go 中遇了 syscall.Getrusage() ,但我没有得到预期的结果。# P: y2 V* B/ v9 c& }3 @
我该怎么办?
: F1 S8 k2 _" L' ]; n. ^                                                                ( T* ]& e) m7 u# L0 E( S2 `
    解决方案:                                                                ; [: Q+ `$ i. `/ v
                                                                这可能不是提问者想要的(关于每个过程 ID 没有太多明确的信息需要什么类型的详细信息),但你可以使用 BASH 命令通过它 pid 获取任务的一些详细信息ps -p $PID(ps是进程的缩写)状态)
2 Z( W7 J& C' A  Q0 `( e使用默认选项ps -p $PID返回:6 K8 T/ B, a& x8 k
PID:回显进程ID9 G" n, ]$ p) _; l! R6 A% z
TTY:控制终端名称(如有)
& G% `* f. A. }3 STIME:自执行以来,该过程使用了多少 CPU 时间(如 00:00:02)5 @2 B6 ~3 t4 H7 n9 _
CMD:调用过程命令(例如java)
可以使用 -o 选项标志显示此过程ID 更多信息。
: G7 B. Z( Z: k+ m) C" g这是一个例子,它告诉你一个特定的过程 PID 的完整命令包括参数、用户、组和内存(注意多个 -o 如何取一对标志,如何输出大量空白填充命令):
% |  S9 r* c: b( {! f
    ps -p $PID -o pid,vsz=MEMORY -o user,group=GROUP -o comm,args=ARGS
    . P2 ]* y& F$ J
提示:控制台中的人工读取输出args 作为最后一个选项 - 通常是最长的,否则可能会缩短。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则