随笔分类 - LINUX API
摘要:<sys/types.h> <sys/wait.h> pid_t waitpid(pid_t pid, int* status, int options);//成功返回子进程ID,失败返回-1,status保存子进程终止状态,可为NULL pid<-1,等待进程组ID为pid绝对值的任何子进程 pi
阅读全文
摘要:标准套接字不能对IP首部或TCP、UDP首部进行操作,如果开发底层的应用,比如发送一个自定义的IP包、UDP包、TCP包、ICMP包,伪装本机IP地址,捕获所有经过本机的数据包,就要用到原始套接字。 一、面向链路层的原始套接字 可以获取链路层的数据包 创建原始套接字 <netinet/in.h> i
阅读全文
摘要:"将sin_addr设置为INADDR_ANY"的含义是什么?INADDR_ANY转换过来就是0.0.0.0,泛指本机的意思,也就是表示本机的所有IP,因为有些机子不止一块网卡,多网卡的情况下,这个就表示所有网卡ip地址的意思。比如一台电脑有3块网卡,分别连接三个网络,那么这台电脑就有3个ip地址了
阅读全文
摘要:select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include <sys/time.h> #include <unistd.h> int select(int maxfd,fd_set *rdset,fd_set
阅读全文
摘要:进程组 进程组是一个或多个进程的集合,每个进程都属于一个进程组,进程组有唯一组ID。同一进程组中的各进程接收来自同一终端的各种信号。 <unistd.h> pid_t getpgrp(void);//返回调用进程的进程组ID 每个进程组有一个组长进程,进程组ID即为组长进程ID。进程组组长可以创建一
阅读全文
摘要:一、多线程的特点:并发和异步 同步是指一个事件一个事件的完成,只有完成了上面的事件才能开始下面的事件;异步是指一个调用或请求发给调用者,调用者不用等待结果的返回而继续当前的处理。为了防止并发和异步带来线程间资源的竞争的无序性,需要引入同步机制。同步机制有互斥量(互斥锁)、读写锁和条件变量。 二、临界
阅读全文
摘要:一、多线程的优点 1.多个任务由多个线程去执行,而不是等待上一个任务执行完之后再开始执行,看起来就像一起在执行一样,大大提高用户体验。 2.充分利用了多核处理器。 3.更高效的通信。同一进程的线程共享进程的公共资源,共享同一内存空间,这样线程之间通信会更方便和高效。 4.开销比进程小。创建线程和线程
阅读全文
摘要:# include <stdio. h> # include <signal.h> # define INPUTLEN 100 void inthandler(); int main() { struct sigaction newhandler; sigset_t blocked; char x[
阅读全文
摘要:1.规范模式 只是用户常见的模式,驱动程序输入的字符保存在缓冲区,并且仅在接收到回车键时才将这些缓冲的字符发送到程序。缓冲数据使驱动程序可以删除字符,终止输入。 2.非规范模式 缓冲和编辑功能被关闭时,称为处于非规范模式。用于删除和终止的编辑键没有意义了,数据一输入就发送给程序了。 3.raw模式
阅读全文
摘要:函数原型: <termios.h> <unistd.h>int tcgetattr(int fd, struct termios* info)//从与fd有关的终端驱动程序中获取当前设置int tcsetattr(int fd, int when, struct termios* info)//从i
阅读全文
摘要:当open("a.txt",mode),mode指定为O_RDONLY或者O_WRONLY或者O_RDWR时,是从文件开头开始读或写的,当指定为O_APPEND时是从末尾开始读写的。使用O_RDWR时,如果先读了一段再写,那么写的位置从读完处开始,同理先写了一段再读,那么读的位置从写完处开始。可以使
阅读全文

浙公网安备 33010602011771号