Clu*_*oob 31 command-line xterm
我正在运行 Ubuntu 14.04(64 位)。当我第一次发现这个命令时xterm,我尝试了这个命令xterm xterm,它开始无限地打开新的 xterm 窗口。
ctrl + C立即停止并关闭所有窗口。
但我想看看它能走多远,让它尽可能长地运行。它吃光了几乎所有的 RAM 并最终被关闭(我认为是系统本身)。
所以只是出于好奇,为什么/如何发生这种情况?
Wil*_*ilf 26
我(猜测)这是因为您提供的第一个参数xterm是要使用的shell - xterm bash(或xterm /bin/bash)xterm python等。
所以它运行xterm,尝试xterm作为一个 shell 启动,它启动另一个xterm作为那个 shell,然后另一个,另一个......
您可能可以通过运行找到更多关于此的信息 man xterm
小智 16
简短版本:xterm 的参数是 xterm 执行的 shell;shell 设置在环境变量中,因此进一步调用会进行10 PRINT "xterm" 20 GOTO 10递归。
长版:
xterm xterm通过xterm将$SHELL变量设置为xterm(xterm 的第一个参数被解释为要执行的 shell),作为 xterm 的 shell传递给 xterm 调用xterm xterm命令执行的xterm 执行$SHELL- 在这种情况下,创建另一个 xterm 实例(因为$SHELL=xterm现在)$SHELL=xterm 已经,所以新创建的 xterm 执行 xterm进一步阅读: man xterm