¿Qué es la doble bifurcación?

¿Qué es la doble bifurcación?

¿Cómo bifurco un proceso que no muere cuando sale el shell?habla de "doble bifurcación":

  • Doble- fork():

    (emacs &)
    

    Los comandos entre llaves ( )se ejecutan en un proceso de shell separado.

¿Podría explicar por qué eso haría alguna diferencia en comparación con un simple archivo emacs &. ¿Cuál sería el punto de ejecutarlo en un entorno subshell en primer lugar?

Respuesta1

¿Podría explicar por qué eso haría alguna diferencia en comparación con un simple archivo emacs &.

(emacs &)ejecuta una subcapa que luego se ejecuta emacs &dentro de ella, lo que significa que stdin, en su lugar stdout, y stderrestán vinculados a la subcapa. Se bifurca y sobrevivirá (emacs &)a la muerte del caparazón inicial (donde se ejecutó). Solo ejecutar emacs &mantendrá stdin, stdouty stderrvinculados al shell inicial.

emacsen realidad es un mal ejemplo de esto porque a la versión GUI no le importará perder sus stdin, stdouty stderr. Puede probarlo (ls -R / &); exity luego buscarlo para ver que todavía se está ejecutando. Se aceptan ediciones para un mejor ejemplo que ls.

¿Cuál sería el punto de ejecutarlo en un entorno subshell en primer lugar?

Para separarlo completamente del caparazón inicial (ver arriba).

información relacionada