Macos OS X:$cat/dev/random要求我打印

Macos OS X:$cat/dev/random要求我打印,macos,unix,random,terminal,iterm2,Macos,Unix,Random,Terminal,Iterm2,当我跑步时: $cat/dev/random 在OSX10.9上,经过一小段时间后,会弹出一个打印对话框,询问我是否要打印胡言乱语(iTerm2) 使用本机终端应用程序,它会崩溃 我知道/dev/random会产生噪音,但为什么这个打印对话框会随机出现,为什么本机终端应用程序会崩溃?您无意中被模糊测试()的概念绊倒了,在模糊测试()中,软件使用随机输入进行测试,以使其崩溃或意外动作 其作用机制是,终端应用程序对发送的每个字符进行解释,以确定是否应执行某些特殊功能,如加粗文本、按“铃声”甚至打印屏

当我跑步时:

$cat/dev/random

在OSX10.9上,经过一小段时间后,会弹出一个打印对话框,询问我是否要打印胡言乱语(iTerm2)

使用本机终端应用程序,它会崩溃


我知道/dev/random会产生噪音,但为什么这个打印对话框会随机出现,为什么本机终端应用程序会崩溃?

您无意中被模糊测试()的概念绊倒了,在模糊测试()中,软件使用随机输入进行测试,以使其崩溃或意外动作

其作用机制是,终端应用程序对发送的每个字符进行解释,以确定是否应执行某些特殊功能,如加粗文本、按“铃声”甚至打印屏幕


向软件制造商报告您发现的任何错误(尽管对通过模糊测试发现的错误的常见反应是“不要这样做”)。

我认为有一个终端控制序列可以让打印机打印东西,但似乎不太可能在每次cat/dev/random时生成,而且总是在“短时间”后生成的确我尝试了
cat/dev/random
,在大约10秒钟的胡言乱语后,Terminal.app死掉了,我不得不重新启动它。有趣的是,控制序列将被解释,而不仅仅是显示。我认为这是用于其他事情,比如警报,尽管你可以想象它检查它是什么,如果它不是控制信号,则将其打印到终端。因此,这意味着您可以通过终端应用程序打印操作系统?很酷。@user1371383:光标定位等控制序列的工作方式与在屏幕上绘制的程序(如编辑器)的工作方式完全相同。您可以在这里找到关于这个主题的更多信息:但是如果有一个用于打印屏幕的控制序列,那么iTerm2的行为应该是正常的。唯一的错误是程序崩溃,这是由苹果公司制造的。