Pop OS 20.04 :Как переключить графические драйверы (Nouveau на собственные ), не испортив изображение?

timeне синхронизирует команды. Из обоснования Единой спецификации Unix :

The term utility is used, rather than command, to highlight the fact that shell compound commands, pipelines, special built-ins, and so on, cannot be used directly.

В SUS также указано, что результат timeдля специальных , встроенных -в команды, не определен, и его результаты при использовании на чем-либо другом, кроме простая команда(т.е.на конвейерах или группах команд )не указаны.

Это связано с тем, что timeявляется , а не обязательным для специального синтаксиса оболочки или встроенной -командой. И варьировалось ли оно достаточно значительно во время первой стандартизации, и существенно ли различается сейчас.

  • В оболочках Almquist и (Heirloom )Bourne timeне является ни зарезервированным словом, ни построенным -в команде. Это внешняя команда, поэтому ее нельзя применить ни к чему, кроме простой команды . Внешняя команда timeна BSD использует информацию об использовании процесса, возвращенную из ядра библиотечной функцией wait4(), и требует, чтобы синхронизируемая программа была оболочкой, если вы хотите синхронизировать построенную -оболочку в командах и конвейерах.. Таким образом, такие вещи, как time bindkey, не находят утилиты для выполнения, а такие вещи, как time echo, измеряют время работы внешнейechoкоманды, а не оболочки, встроенной -в одну.
  • В оболочке C timeявляется встроенной -командой и не может применяться ни к чему, кроме простой команды . timeработает, просматривая результаты библиотечной функции wait4(), которая требует ожидания дочернего процесса. Таким образом, оболочка Ctimeвсегда разветвляет дочерний процесс , даже для других встроенных -команд. Вы обнаружите, что такие вещи, как time bindkey -v, ничего не дают, потому что они выполняются в дочернем процессе как следствие time.
  • В оболочках Korn и Bourne Again timeявляется зарезервированным словом в синтаксисе оболочки и может применяться к конвейерам. Эти оболочки не используют информацию об использовании дочерних процессов, возвращаемую библиотечной функцией wait4(), а вычисляют время, заключая в скобки вызовы команд с вызовами getrusage()и выполняя вычитания.
  • В оболочке Z timeявляется зарезервированным словом в синтаксисе оболочки и может применяться к конвейерам.Оболочка Z использует информацию об использовании процесса, возвращенную из ядра библиотечной функцией wait4(), но не вызывает разветвления для встроенных -команд. Таким образом, он ничего не сообщает , если ни один дочерний процесс не был разветвлен (, как в случае встроенного -в таких командах, какtrue); но, наоборот, такие, как time set -o vi, действительно чего-то достигают.

Как указано в ее обосновании, Единая спецификация Unix сформулирована свободно, чтобы разрешить все различные варианты поведения. И это указывает на то, что временная оболочка, встроенная -в команды, является проблемой.

0
19.08.2020, 00:53
1 ответ

Я собираюсь начать с извинений, если это не так, или если это вообще неприменимо, но каждый раз, когда я сталкиваюсь с какой-либо графической проблемой, и это происходит во время загрузки, я смотрю на nomodeset.

Посмотрите этот ответ здесь:

номодесет

Для получения информации о том, что на самом деле делает nomodeset.

0
18.03.2021, 23:11

Теги

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