C 在使用 dup2 后打印默认标准输入中的文件

标签 c linux shell debugging dup

我正在用 C 编写一个在 Linux 上运行的小型 shell。因为涉及很多重复项,所以我想问一下是否有办法打印位置 0 内的内容。例如,如果我调用 dup2(file_name,0) 有没有办法打印 file_name 以便我可以将其用于调试?

最佳答案

如果您使用的是linux操作系统,您可以轻松显示您的文件描述表 linux 上的每个进程都按进程号存放/proc/目录,fd 文件夹显示进程的文件描述表 例如

ls -l /proc/1405/fd

outputlooks like this image

关于C 在使用 dup2 后打印默认标准输入中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836520/

相关文章:

基于 Linux 内核头文件中功能的条件编译

shell - 如何将单个文件拆分成多个.sh文件并依次执行

c - 为什么 bash 比 C 快?

c - Linux 中 timersub() 函数的隐式声明 - 我必须定义什么?

c - gdb 无法访问内存地址错误

C: 如何将一个函数的返回值转发到另一个函数中?

c - 在函数调用中用作数组索引的递增变量

linux - 如何以编程方式检测 samba 锁定的文件?

linux - 使用 Linux Find 并将内容通过管道传送到 S3 存储桶

linux - 如何在 korn shell (ksh) 中匹配字符串中的 n 个数字和 n 个字母?