接收标准输入并在Linux中打开常规文件的调用

问题描述 投票:0回答:1

我有一个程序,该程序使用sys_open()打开静态文件,并希望接收等于零(= stdin)的文件描述符。我具有写文件,删除文件或修改文件的能力,因此我尝试从静态文件名创建指向/ dev / stdin的符号链接。它会打开标准输入,但返回的可用fd最低(不等于零)。我如何使系统调用返回零,而无需钩住系统调用或修改程序本身?有可能吗?

((这是挑战的一部分,不是实际情况)

一如既往地感谢您

linux file system-calls descriptor
1个回答
1
投票

Posix guarantees将返回最低可用FD。因此,您可以在标准输入关闭的情况下调用程序:

./myprogram 0>&-
© www.soinside.com 2019 - 2024. All rights reserved.