Ограничение вывода /proc/cpuinfo одним процессором/ядром

Начиная с zsh 5.7 ответ отрицательный. Вывод трассировки всегда идет в stderr.

Источник :чтение источника. Вывод трассировки записывается в файл xtrerr, что выглядит многообещающе, но единственными назначениями для xtrerrявляются stderr, его копия или NULL.

Должна быть возможность написать динамически загружаемый модуль, который устанавливает xtrerr, но написать модуль вне исходного дерева zsh непросто.

Возможный обходной путь — эмулировать xtraceловушкойDEBUG. В большинстве случаев это дает одну и ту же основную информацию, но я уверен, что есть много крайних случаев, когда xtraceбыло бы трудно или невозможно точно эмулировать. Одно отличие состоит в том, что наследование опции xtraceи наследование ловушек следуют разным правилам в некоторых обстоятельствах, связанных с функциями, подоболочками, emulateи т. д. Доказательство -концепции -:

trap 'print -r -- "+$0:$LINENO>$ZSH_DEBUG_CMD" >>trace_file' DEBUG

Или, может быть, немного более сложный (непроверенный):

zmodload zsh/system
sysopen -a -o create -u xtrace_fd trace_file
trap 'syswrite -o $xtrace_fd "+$0:$LINENO>$ZSH_DEBUG_CMD"' DEBUG

0
19.03.2021, 15:05
2 ответа

А как насчет sed -n '1,/^$/p' /proc/cpuinfo ? И не забудьте про новый способ lscpu.

1
28.04.2021, 22:58

Вот мое мнение:

awk '{if ($0=="") exit; print $0}' /proc/cpuinfo
1
28.04.2021, 22:58

Теги

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