Не могли бы вы объяснить, почему это будет иметь какое-то значение по сравнению с простым emacs &
.
(emacs &)
запускает подоболочку, которая затем запускает emacs &
внутри него, что означает, что его stdin
, stdout
и stderr
вместо этого связаны с подоболочкой. Он становится раздвоенным и выживет после того, как умирает начальная оболочка (где (emacs &)
была запущена). Запуск только emacs &
будет держать stdin
, stdout
и stderr
привязанными к исходной оболочке.
emacs
на самом деле плохой пример для этого, потому что версия GUI не будет заботиться о том, что она потеряла свои stdin
, stdout
и stderr
. Вы можете попробовать с (ls -R / &); exit
и затем grep для этого, чтобы видеть, что это все еще работает. Редактирование приветствуется для лучшего примера, чем ls
.
Какой смысл в первую очередь запускать его в среде subhell?
Чтобы полностью отделить его от начальной оболочки (см. Выше).