为什么我最小的unix文件描述符编号是7,而不是终端中的3



根据《使用Unix进程》,我知道最小的文件描述符是3,因为0,1,2被分配给STDIN``STDOUT``STDERR

但在ubuntu中,我把这样的代码放在一个文件中:

passwd=文件.open('/etc/passwd')放入passwd.fileno

然后我得到了7而不是3,如果我只是把代码放在irb中,它就是9。Ubuntu有什么不同吗?如何获取ubuntu打开的7个资源?

要查看任何进程打开了哪些文件,请查看/proc/XX/fd,其中XX是您感兴趣的进程的pid。对于当前进程,您可以查看/proc/self/fd

最新更新