Выполнение команды bash в подпроцессе не заканчивается sh, как в терминале - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь вызвать команду sudo mender -install /path/to/artifact.mender из подпроцесса. Команда работает, и она выполняет обновление, но зависает на 100%, поэтому она не завершится sh с «Готово», как когда я выполняю ее непосредственно в терминале

команда nohup:

nohup sudo mender -install /home/username/update/nodered/nodered-artifact-1.2-b5.mender > /home/username/loginstall 2>&1 &

выход nohub:

Installing Artifact of size 9902592... time="2020-02-26T09:03:19Z" level=info msg="no public key was provided for authenticating the artifact" module=installer ................................ 10% 1024 KiB ................................ 21% 2048 KiB ................................ 31% 3072 KiB ................................ 42% 4096 KiB ................................ 52% 5120 KiB ................................ 63% 6144 KiB ................................ 74% 7168 KiB ................................ 84% 8192 KiB ................................ 95% 9216 KiB .............. 100% 9670 KiB

команда на терминале:

sudo mender -install /path/to/artifact.mender

выход на терминале:

INFO[0000] no public key was provided for authenticating the artifact module=installer ................................ 10% 1024 KiB ................................ 21% 2048 KiB ................................ 31% 3072 KiB ................................ 42% 4096 KiB ................................ 52% 5120 KiB ................................ 63% 6144 KiB ................................ 74% 7168 KiB ................................ 84% 8192 KiB ................................ 95% 9216 KiB .............. 100% 9670 KiB Use -commit to update, or -rollback to roll back the update.

Как видно из последнего в комментарии nohup отсутствует строка Use -commit to update, or -rollback to roll back the update.. Я также безуспешно пытался выполнить следующую команду:

nohup echo -ne '\n' | sudo mender -install /home/username/update/nodered/nodered-artifact-1.2-b5.mender > /home/username/loginstall 2>&1 &

А также с подпроцессом python получаю тот же результат.

Может кто-то объяснит мне, почему это не работает?

спасибо и ура,

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