Почему родительский процесс Bash завершается раньше своего дочернего процесса, когда команда используется в фоновом режиме в сценарии Bash?

Оба сообщения, на которые вы ссылаетесь, предполагают, что cryptsetup resizeберет короткое имя для криптоустройства, а не полное имя пути. Другими словами, попробуйте это:

# cryptsetup -b 377523479 resize cryptdisk
0
19.01.2021, 19:26
2 ответа

Когда вы запускаете процесс в фоновом режиме (с помощью &), он начинает выполняться одновременно со своим родителем. Поскольку вашему сценарию больше нечего делать, он exits и осиротевший процесс принимается init. Когда вы не используете &, родитель waitзавершает дочерний процесс, приостанавливая себя. и вы видите сценарий как родительский. В последнем случае родитель будет отображаться как приостановленный/спящий.

0
18.03.2021, 22:36

Процесс, выполняющий сценарий, завершается, поскольку он достигает конца сценария. Он достигает конца скрипта, потому что команда запускается в фоновом режиме с &.

0
18.03.2021, 22:36

Теги

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