常用的重定向如who->userlist.txt将who的输出定向到文件userlist.txt,这是如何做到的呢? who的默认输出对象是标准IO中的stdout,文件描述符为1,而重定向所做的事情是将文件描述符1从默认的tty设备文件移开,而重新分配给其他文件,在本例中为userlist.txt ...
分类:
其他好文 时间:
2020-06-16 15:38:37
阅读次数:
56
##1. 文件描述符 打开或创建一个文件时,内核向进程返回一个文件描述符,当读、写一个文件时,用open()或creat()返回的文件描述符标识该文件,将其作为参数传递给write、read。 stdin标准输入 fd = 0 stdout标准输出 fd = 1 stderr标准错误 fd = 2 ...
分类:
其他好文 时间:
2020-06-12 20:24:48
阅读次数:
65
读文件流程进程调用库函数向内核发起读文件请求;内核通过检查进程的文件描述符定位到虚拟文件系统的已打开文件列表表项;调用该文件可用的系统调用函数read();read()函数通过文件表项链接到目录项模块,根据传入的文件路径,在目录项模块中检索,找到该文件的inode;在inode中,通过文件内容偏移量计算出要读取的页;通过inode找到文件对应的address_space;在address_spac
分类:
系统相关 时间:
2020-06-10 09:33:00
阅读次数:
134
####从DNS数据库中检索主机条目 getaddrinfo 不用考虑字节序[旧api:gethostbyname、gethostbyaddr ] ####Ref: CSAPP ...
分类:
其他好文 时间:
2020-06-09 14:53:29
阅读次数:
50
lsof list open files Linux一切皆文件,通过文件不仅可以访问常规数据,还可以访问网络连接(套接字)和硬件,该文件描述符为应用程序与os之间提供了接口.lsof需访问各种特权文件,故需root运行 COMMAND contains the first nine characte ...
分类:
系统相关 时间:
2020-06-02 22:52:28
阅读次数:
100
守护进程1 定义守护进程是脱离于终端并且在后台运行的进程.2 创建守护进程步骤1)创建子进程,父进程退出.2)在子进程中创建新会话.(最重要的一步,使用系统函数setsid)3)改变当前目录为根目录4)重设文件权限掩码5)关闭文件描述符调用setsid有三个作用:1)让进程摆脱原会话的控制2)让进程 ...
分类:
系统相关 时间:
2020-06-02 11:11:03
阅读次数:
91
Linux中的文件描述符(fd)与打开文件之间的关系 1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的 ...
分类:
系统相关 时间:
2020-06-01 12:07:01
阅读次数:
161
/etc/nginx/nginx.conf worker_rlimit_nofile#; --指定一个worker 进程所能打开的最大文件描述符数量worker_rlimit_sigpending#; --指定每个用户能够发往进程的信号的数量 性能优化相关的配置 1.work_processes - ...
分类:
其他好文 时间:
2020-05-28 23:39:54
阅读次数:
71
本文主要从传输控制层来讲述TCP/SOCKET/三次握手/四次挥手 先做几个小实验: /** 创建一个socket通信 命令解释: 6:新建文件描述符 <>:既要发送请求,又要接收响应数据 /dev/tcp:这个目录看不到,但内核确实有 **/ exec 6<> /dev/tcp/www.baidu ...
分类:
其他好文 时间:
2020-05-26 01:27:42
阅读次数:
90
一、I/O多路复用 I/O的含义:在计算机领域常说的IO包括磁盘IO和网络IO,我们所说的IO复用主要是指网络IO;在Linux中一切皆文件,因此网络IO也经常用文件描述符FD来表示。 复用的含义:在通信领域中为了充分利用网络连接的物理介质,往往在同一条网络链路上采用时分复用或频分复用的技术,使其在 ...
分类:
编程语言 时间:
2020-05-24 13:30:54
阅读次数:
85