С чего начинается новая подоболочка в Bash? - PullRequest
4 голосов
/ 04 июля 2011

Существуют ли в Bash действия, отличные от каналов и подстановки команд, запускающие новую подоболочку?

Ответы [ 2 ]

7 голосов
/ 04 июля 2011

Помещение цепочки команд в скобки (( ... )) также запускает новую подоболочку.

( cd /tmp ; pwd ) ; pwd
0 голосов
/ 04 июля 2011

Каждый выполняемый скрипт оболочки по сути является подпроцессом (дочерним процессом) родительской оболочки.

Сценарий оболочки может сам запускать подпроцессы. Эти субоболочки позволяют сценарию выполнять параллельную обработку, фактически выполняя несколько подзадач одновременно.

скажем, у вас есть сценарий test.sh. После запуска, если вы запустите команду

ps -ef|grep -i test.sh

вы увидите, что он работает с другим PID

Как правило, внешняя команда в сценарии разветвляется на подпроцесс / подоболочку

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