Ответ 1
Это сработало для меня. &
и труба stdout и stderr должна быть закрыта:
long-running-command >&- 2>&- &
Чтобы поставить команду в фоновом режиме, необходимо закрыть как stdout
AND stderr
. Если любой из них оставлен открытым, процесс не будет в фоновом режиме, и операция фиксации не будет завершена до тех пор, пока не будет завершен hook script.
Ленай альтернативный подход состоит в том, чтобы просто перенаправить stdout
и stderr
в /dev/null
:
long-running-command >/dev/null 2>&1 &
Это немного менее чисто, но, возможно, легче понять и запомнить, и он имеет тот же эффект.