摘要:
多路复用 select 同时监控多个文件描述符的输入输出 <sys/types.h> <sys/times.h> <sys/select.h> int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, str 阅读全文
摘要:
前面的进程控制2,介绍了僵尸进程,和解决方式4种中的两种。下面再补充两种。 解决方式: 3:忽略SIGCHLD信号 父进程设置忽略 SIGCHLD信号,子进程结束自动释放进程表资源 忽略SIGCHLD信号: signal(SIGCHLD, SIG_IGN) 4:捕获SIGCHLD信号 父进程捕获SI 阅读全文
摘要:
信号处理 信号值小于 SIGRTMIN 的信号 (1~31) 都是不可靠信号 某些unix版本中,调用信号函数处理后会自动恢复默认信号处理,所以在信号处理函数中还需要继续调用signal函数设置信号处理 这个问题在linux中并不存在 linux 信号处理使用 sigaction函数, sigact 阅读全文
摘要:
系统时间 #include<time.h> time_t time(time_t &tSec) 获取当前时间,1900年1月1日0时到现在的秒钟数 double difftime(time_t timeEnd, time_t timeStart) 时间差 系统时间 两个互逆的函数 struct tm 阅读全文
摘要:
信号 传送给进程的事件通知,完成异步通信 信号的产生 1.程序错误:硬件异常,除数为0,等 2.外部事件:定时器事件,按键中断(ctrl+c)等 3.显示请求:调用 kill, raise 等信号发送函数 信号的处理 #include<signal.h> void (*signal (int sig 阅读全文
摘要:
同步父子进程 wait<sys/wait.h>pid_t wait(int *pState)无子进程则马上返回,有子进程则等待(阻塞)。多个子进程,需要多个调用获取子进程 pid 和 结束状态第一字节: *pState & 0xff 接受到的信号值第二字节: (*pState >> 8) & 0xf 阅读全文
摘要:
概念 程序:一个保存在磁盘中的文件,规定运行时要执行的代码和要完成的动作。 进程:把程序加载为内存中一段数据,程序的执行过程,具有产生,发展和消亡的过程 线程:unix的最小调度单位,一个进程可以有多个线程,共享进程ID,共享进程资源。 父子进程 进程采用树形结构管理,一个进程启动另一个进程时,被启 阅读全文
摘要:
异或运算:^ --> 两个变量,按照bit位比较,同位置 bit位相等 则结果为 0, 不相等,则结果为1 任意数 x x^x = 0; x^(~x) = 0xffffffff x^0 = x; x^0xffffffff = ~x 或运算:| --> 把两个变量, 按照bit位比较,同位置的bit位 阅读全文
摘要:
设备文件 Linux把所有设备都映射成了文件 设备文件一般存储在 /dev 目录下 我们可以像操作文件一样操作他们 ls /dev –l brw-rw 1 root disk 8, 0 Dec 21 20:00 sda crw--w 1 root tty 4, 0 Dec 21 20:00 tty0 阅读全文
摘要:
低级文件库 低级文件读写与标准文件读写类似。如fgetc,fputs都是调用read,write。 文件打开/创建#include <fcntl.h> //file controlint open(const char *filename, int flag, [mode_t mode])flag 阅读全文