是否真的可以说CTRL+D停止输入执行而CTRL+C停止输出显示(作为纯数据,不执行)?
答案1
不,这不是真的。
但是,确实可以发出Ctrl+D传输结束 (EOT) 事件信号,该事件通常会导致读取输入的程序关闭输入文件描述符。
Ctrl+D用于此目的是因为它在 ASCII 表上的位置对应于类似的文件结束控制字符,即使在这种情况下实际并未传输实际的 EOF 控制字符。
按Ctrl+C通常(可通过 进行配置stty
)生成一个中断信号 (SIGINT),该信号将传送到当前终端中的进程(请参阅man kill
; man 3 tcgetpgrp
)。