假设我想创建一个类似于 /dev/zero 的文件 /dev/seven,每当从中读取时它都会产生字符 '7'。我应该如何实现这样的功能?我需要修改内核吗?
是的,您需要为该特殊字符设备创建一个驱动程序。
对于Linux,我建议您阅读Jonathan Corbet、Alessandro Rubini和Greg Kroah-Hartman的Linux设备驱动程序。(第3章讲述了字符驱动程序,但请至少先阅读前两章。)
不需要设备驱动程序,一个FIFO特殊文件加上一个生成流7
的用户程序完全能够提供这种行为。
总共需要大约五行Shell脚本。