Linux

exec: команда Linux и команда Unix

несколько снарядов

В Linux команда exec заменяет текущий процесс оболочки указанной командой — по сути, переносит идентификатор процесса текущей оболочки в новый процесс, который затем принимает этот PID.

Большинство случайных пользователей Linux для настольных ПК не должны использовать exec . Это мощная программа с узким сценарием использования для сценариев. В обычных обстоятельствах редко бывает полезно вызывать exec для рутинных операций оболочки.

Как работает exec

Когда вы запускаете exec с новой командой в качестве аргумента, Linux запускает эту новую команду, используя тот же процесс, что и вызывающая ее оболочка. Если вы запустите его без указания новой команды, соответствующие перенаправления будут иметь место в текущей оболочке.

Чтобы увидеть, как работает exec , запустите оболочку, затем запустите вторую сессию в том же сеансе. Если вы используете Zsh, например, то, когда откроется окно терминала, запустите другой сеанс Zsh.

несколько снарядов

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

Если вы выполните дату из сеанса оболочки, вы увидите дату, отображаемую для стандартного вывода. Если затем вы используете exec для перенаправления стандартного вывода в текстовый файл, стандартный вывод, который вы ожидаете увидеть, записывает в файл, пока вы не выйдете из сеанса Zsh, который контролирует exec . При выходе стандартный вывод отображается так, как ожидалось, поскольку исходный сеанс Zsh снова становится активным.

Похожие посты
Linux

8 лучших окружений рабочего стола Linux

AndroidIphone и ipadLinuxWindows

Окончательное руководство по включению темного режима везде

LinuxКак сделать

Что такое Swappiness в Linux? (и как это изменить)

LinuxКак сделать

Как использовать команду ls для вывода списка файлов и каталогов в Linux