Всякий раз, когда вы хотите использовать переменные переменные, вероятно, лучше использовать словарь. Поэтому вместо записи
$foo = "bar"
$$foo = "baz"
вы пишете
mydict = {}
foo = "bar"
mydict[foo] = "baz"
Таким образом, вы не будете случайно перезаписывать ранее существовавшие переменные (что является аспектом безопасности), и вы можете иметь разные " Пространства имен». [/ д2]
Это работает на Mac (включает в себя%):
ps -A -o %cpu | awk '{s+=$1} END {print s "%"}'
Чтобы разбить это немного:
ps
- это инструмент состояния процесса. Большинство * nix как операционные системы поддерживают его. Есть несколько флагов, которые мы хотим передать:
-A
означает все процессы, а не только те, которые работают как вы. -o
позволяет нам указать результат, который мы хотим. В этом случае все это мы хотим для столбца cpu% вывода ps
. Это даст нам список всех процессов cpu, таких как
0.0 1.3 27.0 0.0
Теперь нам нужно добавить этот список, чтобы получить окончательное число, поэтому мы выводим вывод ps на awk
. awk - довольно мощный инструмент для анализа и работы с текстом. Мы просто просто добавляем цифры, затем распечатываем результат и добавляем «%» в конец.