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