加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 为什么“猫(猫)”产生EIO?

发布时间:2020-12-16 01:24:41 所属栏目:安全 来源:网络整理
导读:我有一个从两个输入文件同时读取的程序.我想让这个程序从标准输入读取.我以为我会使用这样的东西: $program1 (cat) ($program2) 但我刚才发现了 cat (cat) 产生 ....mmap2(NULL,139264,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0xb758e000r
我有一个从两个输入文件同时读取的程序.我想让这个程序从标准输入读取.我以为我会使用这样的东西:
$program1 <(cat) <($program2)

但我刚才发现了

cat <(cat)

产生

....
mmap2(NULL,139264,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0xb758e000
read(0,0xb758f000,131072)             = -1 EIO (Input/output error)
....
cat: -: Input/output error

同样地,

$cat <(read -n 1)
bash: read: read error: 0: Input/output error

所以… Linux在系统调用级别无法读取.那很有意思. bash没有将stdin连接到subshel??l?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读