Linux程序设计重点知识

访问设备驱动程序的底层函数(系统调用):
open:打开文件或设备;

read:从打开的文件或设备里读数据;
write:向文件或设备写数据;
close:关闭文件或设备;
ioctl:把控制信息传递给设备驱动程序;
lseek:设置文件的读写指针。

标准IO库
fopen、fclose
fread、fwrite
fflush
fseek
fgetc、getc、getchar
fputc、putc、putchar
fgets、gets
printf、fprintf、sprintf
scanf、fscanf、sscanf
进程间通信:
exec
fork
wait:wait系统调用将暂停父进程知道它的子进程结束为止。
waitpid
exit
僵尸进程
信号
signal
sigaction(推荐使用)
kill:进程可以通过调用kill函数向包括它本身在内的其他进程发送一个信号。
alarm:alarm函数用来在seconds秒之后安排发送一个SIGALRM信号。
pause:把程序的执行挂起直到有一个信号出现为止。
信号集
POSIX线程
线程:在一个程序中的多个执行路线就叫做线程(thread)。
所有的进程都至少有一个执行线程。
pthread_create:创建一个新线程。
pthread_exit:终止执行。
pthread_join:pthread_join函数在线程中的作用等价于进程中用来收集子进程信息的wait函数。
同步:用信号量保持同步。
计数信号量:用在控制对一组对象的访问时——比如从5条可用的电话线中分配1条给某个线程的情况。
两组接口函数用于信号量:一组取自POSIX的实时扩展,用于线程。另一组被称为系统V信号量,常用于进程的同步。
sem_init:
sem_wait:
sem_trywait:
sem_post:
sem_destroy:
互斥量:用在任一时刻只能有一个线程可以访问一些共享内存。
pthread_mutex_init:
pthread_mutex_lock:
pthread_mutex_unlock:
pthread_mutex_destroy:
pthread_mutex_cancel:
POSIX线程的属性函数
进程间通信:
进程管道
popen:
pclose:
pipe:
dup:
mkfifo:
mknod:
信号量:用于管理对资源的访问。

共享内存:用于在程序之间高效地共享数据。
shmat:将共享内存段连接到一个进程的地址空间中。
shmctl:将共享内存从当前进程中分离。
shmdt:控制函数。
shmget:创建共享内存
消息队列:在程序之间传递数据的一种简单方法。
System V IPC:
msgctl:控制函数。
msgget:创建一个消息队列。
msgrcv:从一个消息队列中获取消息。
msgsnd:把消息添加到消息队列中。
./ipcs -s:查看系统中的信号量
ipcs -m:显示共享内存状态
imcrm -m :删除共享内存。
ipcs -q:显示消息队列状态
ipcrm -q :删除消息队列。
套接字编程
客户端/服务器
socket:创建套接字;
connect:把套接字连接到服务器的套接字;
unlink;
bind:命名套接字;
listen:创建一个连接队列,开始等待客户进行连接;
accept:接受一个连接;
write;
read;
close;
fcntl;
select:允许程序同时在多个底层文件描述符上等待输入的到达(或输出的完成);
gethostname;
getservbyname
inet_ntoa;
sendto;
recvfrom;
因特网守护进程;
套接字:可以开发真正跨网络运行的分布式客户/服务器应用程序。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值