Скрипт обновления не загружается при запуске

Вывод pstreeвводит в заблуждение.

bash -c "sleep 10000 "

создает дочерний процесс bash. Но этот процесс не создает еще один дочерний процесс. Поскольку после запуска sleepделать больше нечего, оболочка делает прямой переход с execve()на sleepбез предварительного разветвления.

Поскольку это так быстро, вы просто видите результат после execveв pstree.

Но в

bash -c "sleep 10000; sleep 99999 "

случай, когда новый bash разветвляется дважды, по одному разу для каждой команды. Он также мог бы сделать execveдля последней команды вместо того, чтобы разветвляться первой. Я не знаю, почему это не так.

Это и случай с перенаправлением, вероятно, просто проблемы с обнаружением необходимости разветвления.

0
30.09.2019, 14:06
0 ответов

Теги

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