Osx
有沒有辦法讓“頂部”執行一次並退出?
我發現 shell 命令的輸出
top
是一種簡單且熟悉的方式,可以粗略了解機器的執行狀況。我想top
從一台機器上的小型 Web 伺服器提供 ’ 的輸出(或與之非常相似的東西),以進行粗略的監控。有沒有辦法讓 top 只寫一次它的文本輸出,而不用格式化字元?我試過這個:
(sleep 1; echo 'q') | top > output.txt
這似乎與我想要的很接近,除了(1)不能保證我不會得到多於或少於一屏的資訊,以及(2)我必須去掉所有終端格式化字元。
或者是否有其他
top
類似命令列出機器範圍和程序級記憶體/CPU 使用率/正常執行時間資訊?(理想情況下,我喜歡一種可移植到 Linux 和 Mac OS X 的策略,因為我們的開發人員使用 Mac,而我們的產品環境是 Linux。)
在 Linux 中,你可以試試這個:
top -bn1 > output.txt
來自
man top
:-b : Batch-mode operation Starts top in 'Batch' mode, which could be useful for sending output from top to other programs or to a file. In this mode, top will not accept input and runs until the iterations limit you've set with the '-n' command-line option or until killed. .... -n : Number-of-iterations limit as: -n number Specifies the maximum number of iterations, or frames, top should produce before ending.
使用 OS X,嘗試:
top -l 1
-l <samples> Use logging mode and display <samples> samples, even if standard output is a terminal. 0 is treated as infinity. Rather than redisplaying, output is periodically printed in raw form. Note that the first sample displayed will have an invalid %CPU displayed for each process, as it is calculated using the delta between samples.