Linux库函数学习

一、文件IO类
1、open、close、read、write基础开关文件、读写操作。
2、lseek函数:在指定的文件描述符中将文件指针定位到相应的位置。
3、fcntl函数:文件加锁、解锁。
4、select、poll函数:实现多路IO复用。
5、fget:从指定的流中读取数据。

二、进程控制类
1、fork()函数:创建子进程。
https://www.cnblogs.com/dongguolei/p/8086346.html
2、wait、waitpid:使父进程阻塞,直到一个子进程结束或者该进程接到一个信号为止。
3、exec函数族:取代原进程的数据代码段,实现Linux下任何可执行的脚本文件。
4、exit()、_exit():终止进程,前者会保证缓冲区的保存,后者是暴力结束。

三、进程间通信
管道
1、pipe:建立管道,两个亲子进程间可进行写和读取。
2、popen、pclose:管道建立,关闭。将创建子进程等一系列函数封装到一个函数内,执行exec函数族,实现相应的脚本功能。
fifo:
3、mkfifo:创建有名管道fifo。
信号:
4、kill、raise:同kill系统命令一样,可以发送信号给进程或进程组。raise可向自身发送信号。
5、alarm:在进程中设置一个定时器,时间到了就向进程发送SIGARM信号。
6、pause:将调用进程挂起直至捕捉到信号为止。
7、signal、sigaction:信号处理函数。里面包含的参数有用户自定义的信号处理函数。
8、sig信号集函数组:对信号集合进行一系列的操作,主要有信号的阻塞屏蔽操作,在信号屏蔽过程中,出现的所有被屏蔽的信号,不管发生多少次,在信号解除屏蔽后,系统只会执行一次被屏蔽信号上的操作。
信号量:
9、semget:创建信号量或者系统已存在的信号量。
10、semctl:用SETVAL初始化信号量;IPC_RMID进行删除信号量的操作。
11、semop:信号量的PV操作。
共享内存:
12、shmgget:从内存中获得一段共享内存区域。
13、shmat:把共享内存映射到具体的进程空间中。
14、shmdt:撤销共享内存的映射。
消息队列:
15、msgget:创建消息队列。
16、msgsnd:添加消息到已打开的消息队列队尾。
17、msgrcv:把消息从消息队列中取走,可指定取走某一条信息。
18、msgctl:控制消息队列,包含删除消息队列的操作。

四、多线程编程
1、pthread_create、pthread_exit:线程的创建退出操作。
2、pthread_join:将当前线程挂起等待某一线程的结束,阻塞型。
3、pthread_cancel:终止另一个线程的进行。
互斥锁
4、pthread_mutex_:互斥锁控制。包括初始化(init)、上锁(lock)、解锁(unlock)等操作。
信号量:实现线程的同步和互斥操作。
5、sem_init:创建信号量。
6、sem_wait、sem_trywait:P操作。
7、sem_post:V操作。
8、pthread_attr_
:线程属性设置。包括绑定属性(与内核线程绑定)和分离属性(是否在pthread_join函数返回时才释放该线程的资源)。

五、网络编程
1、socket:建立一个socket连接,指定类型等信息。
2、bind:将本地ip地址绑定到端口号,主要用于TCP的连接。
3、listen:成功建立绑定后,还需要准备在该套接字上接收客户端新的请求。该函数创建一个等待队列,存放未处理的请求。
4、accept:服务端程序调用该函数等待并接收客户端的连接请求。
5、connect:用于client端和服务器端建立连接,阻塞型函数。
6、send和recv:用于发送和接收数据,阻塞型函数。
7、sendto和recvfrom:同6,形参较少的发送和接收数据。
8、fcntl、select:同io,非阻塞操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值