Linux终端单个命令资源使用情况

Linux终端单个命令资源使用情况

我找不到监控单个 Linux 终端命令的方法。

我想要监控这个命令:

php index.php parse

问题是这个过程太短而无法获得 PID,所以我希望有这样的东西:

singlecommandmonitor php index.php parse

singlecommandmonitor监控 RAM、CPU 等使用情况的软件在哪里php index.php parse,我想监控的命令是什么。它的工作原理应该类似于 sudo,但它不是授予 root 权限,而是监控资源。

答案1

您可以使用这个简单的工具:time

\time -v php index.php parse

请注意,反斜杠(或command time完整路径,如/usr/bin/time)可避免执行 shell 内置命令。例如,bash 有自己的time内置命令,不会收集有关进程内存的信息。

默认情况下,此工具以缩写形式显示信息。-v选择此选项,它会以更易理解的描述显示信息:

$ \time -v sleep 2
    Command being timed: "sleep 2"
    User time (seconds): 0.00
    System time (seconds): 0.00
    Percent of CPU this job got: 0%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:02.00
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 2528
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 203
    Voluntary context switches: 2
    Involuntary context switches: 1
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0

答案2

有一个内部 $! 变量包含 pid。因此这将满足我的需要:

php index.php parse & top -p $!

相关内容