摘要:
1、TransportMetadata定义了一组操作底层的元数据信息,它的一个实现是DefaultTransportMetadata,维护的信息如下: private final String providerName; private final String name; private final boolean connectionless; private final boolean fragmentation; private final Class<? extends SocketAddress> addressType; private fin... 阅读全文
摘要:
与进程相关的用户ID有四个:真实的、有效的、被保存的、文件系统的用户ID。真实的ID是指启动进程的用户的ID。有效用户ID是指正在运行的进程的用户ID。被保存的ID是进程最初的有效用户ID。有效用户ID最重要,是确认进程凭证期间所检查的用户ID,真实ID和被保存的ID可作为替代品。root用户可以给uid提供任何值,但是普通用户只能提供真实ID或者被保存的用户ID。下面是和各种ID相关的方法,不详细:int main(){ printf("uid:%d\n", (int)getuid()); printf("pid:%d\n", (int)getpid( 阅读全文
摘要:
可以通过execl函数把新的程序加载到内存中,把当前进程的映像替换成新的映像。path指向程序的位置,arg是新程序的第一个参数,省略号表示数目不定的参数,但是必须以NULL结束:int execl(const char *path, const char *arg, ...);下面是该函数的一个例子,该段代码加载了ls对应的程序,ls运行结束之后返回,而不再执行main中在其后面的代码:int main(){ int ret = execl("/bin/ls","ls", NULL); if(ret == -1){ printf("调用exe 阅读全文