プロセス名/パス別に現在のプロセスCPU/メモリ使用量を取得してコンソールに印刷したいと思います。このコマンドは、連続したデータストリームを提供するのではなく、数値を出力する必要がありますps
。
ps -p PID
動作しません:
- プロセス番号がありません。 (プロセスパスがあります。)
- 現在、測定値をコンソールに一度印刷しません。
たとえば、次のようになります。
$command -getCPU | grep processPath
ベストアンサー1
私の考えは、awk
次のコマンドを使用してプロセス名のプロセッサとメモリ使用量を表示できることです。
ps -C "PROCEES_NAME" -o %cpu,%mem,cmd
結果:
%CPU %MEM CMD
0.0 0.2 /usr/bin/python3 completion.py
0.0 0.1 /usr/bin/python3 lib/python/jedi/evaluate/compiled/subprocess/__main__.py lib/python
その後、awkを使用して最初の行を削除できます。
ps -C python3 -o %cpu,%mem,cmd | awk 'FNR > 1'
結果:
0.0 0.2 /usr/bin/python3 completion.py
0.0 0.1 /usr/bin/python3 lib/python/jedi/evaluate/compiled/subprocess/__main__.py lib/python
使用回数のみを取得し、他の出力をスキップするには、次のコマンドを使用できます。
ps -C "python3" -o %cpu,%mem,cmd | awk 'FNR > 1 {print $1,$2}'
結果:
0.0 0.2
0.0 0.1
$1
1行目、$2
2行目です。必要に応じて削除できます。
process_nameを使用するのは悪い考えであり、PIDを使用する方が良いです。