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