草庐IT

描述符

全部标签

java - 在 linux 平台上使用套接字时是否存在文件描述符泄漏?

如果我通过调用打开和关闭套接字Sockets=newSocket(...);s.setReuseAddress(true);in=s.getInputStream();...in.close();s.close();Linux声明此套接字仍处于打开状态,或者至少存在连接的文件描述符。用lsof查询这个进程打开的文件时,有一个关闭连接的入口:COMMANDPIDUSERFDTYPEDEVICESIZENODENAMEjava9268user5usock0,493417can'tidentifyprotocol此条目将一直保留到程序关闭为止。还有其他方法可以最终关闭套接字吗?我有点担心我的

java - 在 linux 平台上使用套接字时是否存在文件描述符泄漏?

如果我通过调用打开和关闭套接字Sockets=newSocket(...);s.setReuseAddress(true);in=s.getInputStream();...in.close();s.close();Linux声明此套接字仍处于打开状态,或者至少存在连接的文件描述符。用lsof查询这个进程打开的文件时,有一个关闭连接的入口:COMMANDPIDUSERFDTYPEDEVICESIZENODENAMEjava9268user5usock0,493417can'tidentifyprotocol此条目将一直保留到程序关闭为止。还有其他方法可以最终关闭套接字吗?我有点担心我的

c - 有没有办法在 Linux 中创建虚拟文件描述符?

我用以下方式打开了一个文件:fp=fopen("some.txt","r");现在在这个文件中,第一个字节有40个字节是不必要的数据垃圾,所以我想删除它们。但我无法从该文件中删除该数据,修改或在没有不必要数据的情况下创建该文件的副本。所以我想创建另一个指向文件的虚拟FILE指针,当我将这个虚拟指针传递给执行以下操作的任何其他函数时:fseek(dummyfilepointer,0,SEEK_SET);然后它应该将文件指针设置在我的some.txt中的第40个位置。但是该函数接受一个文件描述符,所以我需要传递一个文件描述符,它将文件视为文件中的前40个字节从未出现在文件中。简而言之,虚拟

c - 有没有办法在 Linux 中创建虚拟文件描述符?

我用以下方式打开了一个文件:fp=fopen("some.txt","r");现在在这个文件中,第一个字节有40个字节是不必要的数据垃圾,所以我想删除它们。但我无法从该文件中删除该数据,修改或在没有不必要数据的情况下创建该文件的副本。所以我想创建另一个指向文件的虚拟FILE指针,当我将这个虚拟指针传递给执行以下操作的任何其他函数时:fseek(dummyfilepointer,0,SEEK_SET);然后它应该将文件指针设置在我的some.txt中的第40个位置。但是该函数接受一个文件描述符,所以我需要传递一个文件描述符,它将文件视为文件中的前40个字节从未出现在文件中。简而言之,虚拟

c - Linux C 如何打开目录并获取文件描述符

#include#include#include#includeintmain(){intfd;if((fd=open("/home/zhangke",O_DIRECTORY|O_RDWR))==-1){printf("error%s\n",strerror(errno));return-1;}return0;}/home/zhangke是一个目录并且存在。我收到错误Isadirectory,那么,如何使用open()正确获取目录的fd? 最佳答案 使用O_RDONLY而不是O_RDWR作为访问模式。来自open(2)错误列表:EI

c - Linux C 如何打开目录并获取文件描述符

#include#include#include#includeintmain(){intfd;if((fd=open("/home/zhangke",O_DIRECTORY|O_RDWR))==-1){printf("error%s\n",strerror(errno));return-1;}return0;}/home/zhangke是一个目录并且存在。我收到错误Isadirectory,那么,如何使用open()正确获取目录的fd? 最佳答案 使用O_RDONLY而不是O_RDWR作为访问模式。来自open(2)错误列表:EI

c - strerror 描述字符串

C函数strerror返回错误描述字符串,详见here.示例字符串Nosuchfileordirectory问题是这些字符串在哪里定义的?我查看了我的头文件,但没有看到任何东西。 最佳答案 包含错误消息的头文件名为errmsg.h00012constchar*constsys_errlist[]={00013"Operationsucceeded",/*0*/00014"Invalidargument",/*EINVAL*/00015"Badmemoryaddress",/*EFAULT*/00016"Stringtoolong",

c - strerror 描述字符串

C函数strerror返回错误描述字符串,详见here.示例字符串Nosuchfileordirectory问题是这些字符串在哪里定义的?我查看了我的头文件,但没有看到任何东西。 最佳答案 包含错误消息的头文件名为errmsg.h00012constchar*constsys_errlist[]={00013"Operationsucceeded",/*0*/00014"Invalidargument",/*EINVAL*/00015"Badmemoryaddress",/*EFAULT*/00016"Stringtoolong",

c - 如何使用 sendmsg() 通过 2 个进程之间的套接字发送文件描述符?

@cnicutar就此question回答了我之后,我试图将文件描述符从父进程发送到它的子进程。基于此example,我写了这段代码:intsocket_fd,accepted_socket_fd,on=1;intserver_sd,worker_sd,pair_sd[2];structsockaddr_inclient_address;structsockaddr_inserver_address;/*=======================================================================*Setupthenetworksocke

c - 如何使用 sendmsg() 通过 2 个进程之间的套接字发送文件描述符?

@cnicutar就此question回答了我之后,我试图将文件描述符从父进程发送到它的子进程。基于此example,我写了这段代码:intsocket_fd,accepted_socket_fd,on=1;intserver_sd,worker_sd,pair_sd[2];structsockaddr_inclient_address;structsockaddr_inserver_address;/*=======================================================================*Setupthenetworksocke