Я видел множество примеров, когда &
после конца командной строки стоит a, но я не могу найти объяснения, что он делает. Это даже не в nohup
«S man
странице. Это снаряд?
Либо используя, &
либо нет, я обнаружил, что любой запущенный процесс, nohup
похоже, обладает иммунитетом к любому сигналу зависания.
&
, так что я не был уверен,&
был ли какой-то модификатор или аргумент, который заставлялnohup
себя вести себя по-другому.Ответы:
Из справочной страницы bash :
Так что да, это вещь оболочки и может использоваться с любой командой. По сути, он немедленно возвращает управление и позволяет завершить команду в фоновом режиме. Это почти всегда используется,
nohup
потому что вы обычно хотите выйти из оболочки после запуска команды.источник
Использование амперсанда (&) запустит команду в дочернем процессе (дочернем по отношению к текущему сеансу bash). Однако при выходе из сеанса все дочерние процессы будут уничтожены.
использование nohup + ampersand (&) сделает то же самое, за исключением того, что когда сеанс завершится, родительский процесс дочернего процесса изменится на «1», то есть процесс «init», таким образом сохраняя дочерний процесс от уничтожения.
источник
Да, это оболочка - она запускает команду в фоновом режиме, поэтому вам не нужно ждать возврата текущей команды перед тем, как вводить другие команды.
источник