Estoy ejecutando Ubuntu 14.04 (64 bit). Cuando descubrí el comando por primera vez xterm, probé el comando xterm xtermy comenzó a abrir infinitamente nuevas ventanas xterm.
ctrl + Clo detiene de inmediato y cierra todas las ventanas.
Pero quería ver qué tan lejos llega y dejar que corra tanto como pueda. Se comió casi toda la RAM y finalmente se cerró (creo que por el propio sistema).
Entonces, solo por curiosidad, ¿por qué / cómo sucede esto?
command-line
xterm
Despistado
fuente
fuente

SHELLla variable de entorno en los programas que se encuentran en/etc/shells(solicitada por parche / informe de Al Poole)". (Las respuestas explican qué pasa con laSHELLvariable de entorno).Respuestas:
Supongo que esto se debe a que el primer parámetro que le das
xtermes el shell a usar -xterm bash(oxterm /bin/bash),xterm pythonetc.Entonces se ejecuta
xterm, intenta comenzarxtermcomo un shell, que inicia otroxtermcomo ese shell, luego otro y otro ...Probablemente pueda encontrar un poco más sobre esto ejecutando
man xtermfuente
xtermconjuntos de$SHELLaxtermy comienza otroxtermcomo su cáscara. Ese otroxtermusa el comando$SHELLya que su shell inicia así otroxterm, ...xtermcomo ese shell". ¿Por qué pasa eso? Gracias @FlorianDiesch por explicar esa parte.xterminicios del segundoxtermcomo su cáscara, el segundoxtermse inicia la terceraxtermcomo su cáscara, la tercera se inicia el cuarto como su cáscara, etc ...xtermcomienza el segundoxterm: es porque escribistexterm xterm. Pero, ¿por qué el segundoxtermcomienza el terceroxterm? No escribistexterm xterm xterm, así que no es obvio por quéxtermcomienza la tercera . El comentario de Florian explica por qué.gnome-terminal?Versión corta: el argumento de xterm es el shell que ejecutará xterm; shell se establece en el entorno var, por lo que las llamadas posteriores hacen una
10 PRINT "xterm" 20 GOTO 10recursividad.Versión larga:
xterm xtermpasaxterma la llamada xterm como shell de xterm configurando la$SHELLvariable axterm(el primer parámetro de xterm se interpreta como shell para ejecutar)xterm xtermcomando ejecuta el$SHELL- en este caso, creando otra instancia de xterm (porque$SHELL=xtermahora)$SHELL=xtermya, entonces el xterm recién creado se ejecutaxtermOtras lecturas:
man xtermfuente