 
- 帖子
- 531
- 积分
- 1554
- 技术
- 94
- 捐助
- 0
- 注册时间
- 2008-7-17
|
本帖最后由 qzwqzw 于 2012-3-22 22:47 编辑
cmd 最多支持同时直接操作 10 个句柄:句柄0 默认输出,句柄1 正确输入(约定俗成),句柄2 错误输出(亦然),句柄3~9 由命令自定义,共 10 个句柄,但句柄备份证明句柄9 之后至少还存在一个无法直接操作的隐藏句柄10
句柄0 1 2 的描述都有问题
句柄0 stdin 标准输入,只可读
句柄1 stdout 标准输出,只可写
句柄2 stderr 标准错误,只可写
在DOS虚拟机VDM中
句柄3 stdaux 标准串口
句柄4 stdprn 标准并口
其他的句柄未初始化
句柄的个数确实不止10个
通常每个进程可以同时最多操作20个句柄
某些多线程环境下会最多同时操作40个句柄
但是cmd只给了我们前10/11个句柄的操作接口
cmd在句柄备份时的策略
是确定要备份的目标句柄是否被“污染”
如果被污染则选择下一个新句柄判断
这个判断是基于一个3X32位的flag字
靠设置和获取对应号位上的0/1来确定 |
-
1
评分人数
-
|