我找不到监控单个 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 $!