Что означает ESRCH?

Вы можете сделать что-то вроде этого:

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
12
27.04.2016, 17:20
1 ответ

Строка ESRCH выглядит загадочно, но после просмотра других ошибок и их строк :(взято изhttp://pubs.opengroup.org/onlinepubs/9699919799/functions/kill.html)

  • [EINVAL] Значение аргумента sig является недопустимым или неподдерживаемым номером сигнала.
  • [EPERM] У процесса нет разрешения на отправку сигнала какому-либо принимающему процессу.

Кажется логичным, что E означает ошибку, INVAL — недопустимое, а PERM — разрешение. В той же логической строке SRCH означает поиск.

Ошибка поиска pid/группы pid.

4
27.01.2020, 19:55

Теги

Похожие вопросы