Вы можете сделать что-то вроде этого:
for i in $(cat /proc/partitions | grep -v "[0-9]$\|name" | awk '{ print $4 }'); do hdparm -tT /dev/"$i"; done
Это проходит через / proc / partitions
и извлекает имена устройств перед их передачей значения для hdparm
, который предназначен для запуска на устройствах, а не разделах (например, / dev / sda, а не / dev / sda1).
Как написано выше, команда также будет работать с существующими жесткими дисками, а также с USB-устройствами. Чтобы исключить их, измените часть grep -v
. Приведенная выше команда отобразит все строки, которые не заканчиваются цифрой
или содержат слово имя
.
Например, если у вас есть два жестких диска, которые вы хотите исключить ( / dev / sda
и / dev / sdb
), указанную выше команду можно изменить на следующую:
for i in $(cat /proc/partitions | grep -v "[ab0-9]$\|name" | awk '{ print $4 }'); do hdparm -tT /dev/"$i"; done
Строка ESRCH выглядит загадочно, но после просмотра других ошибок и их строк :(взято изhttp://pubs.opengroup.org/onlinepubs/9699919799/functions/kill.html)
Кажется логичным, что E означает ошибку, INVAL — недопустимое, а PERM — разрешение. В той же логической строке SRCH означает поиск.
Ошибка поиска pid/группы pid.