我正在运行 Ubuntu 14.04 (64 位)。当我第一次发现该命令时xterm
,我尝试了该命令xterm xterm
,它开始无限地打开新的 xterm 窗口。
ctrl + C
立即停止它并关闭所有窗口。
但我想看看它能运行多久,让它尽可能长时间地运行。它几乎消耗了所有内存,最终被关闭了(我认为是系统本身关闭的)。
所以只是出于好奇,为什么/怎么会发生这种情况?
答案1
答案2
简短版本:xterm 的参数是 xterm 要执行的 shell;shell 在环境变量中设置,因此进一步的调用会进行递归10 PRINT "xterm" 20 GOTO 10
。
长版本:
xterm xterm
通过将变量设置为(xterm 的第一个参数被解释为要执行的 shell),传递xterm
给 xterm 调用作为 xterm 的 shell$SHELL
xterm
- 然后,由你的命令执行的 xterm
xterm xterm
将执行$SHELL
- 在这种情况下,创建另一个 xterm 实例(因为$SHELL=xterm
现在) $SHELL=xterm
已经,因此新创建的 xterm 执行xterm
- 转到 3
进一步阅读:man xterm