![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 61
微尘8
这个作者很懒,什么都没留下…
展开
-
linux网络编程-多线程实现TCP并发服务器
1. socket函数创建监听套接字lfd;2. bind函数将监听套接字绑定ip和端口;3. listen函数将服务器设置为被动监听状态,同时创建一条未完成连接队列(没走完tcp三次握手流程的连接),和一条已完成连接队列(已完成tcp三次握手的连接);4. accept函数循环的从已完成连接的队列中提取连接,并返回一个新的套接字cfd跟客户端进行通信;5. pthread_create函数创建一个子线程,跟客户端进行通信;6. 子线程:read函数循环的从r缓冲区读取客户端发送的数据。。。原创 2023-02-27 23:16:23 · 886 阅读 · 0 评论 -
linux网络编程-多进程实现TCP并发服务器
• socket函数创建监听套接字lfd• bind函数将监听套接字绑定ip和端口• listen函数设置服务器为被动监听状态,同时创建一条未完成连接队列(没走完tcp三次握手流程的连接),和一条已完成连接队列(已完成tcp三次握手的连接)• accept函数循环的从已完成连接队列中提取连接,并返回一个新的套接字cfd跟客户端进行通信• fork函数创建一个子进程,让子进程与客户端进行通信• 子进程:read函数循环的从r缓冲区读取客户端发送的数据,write函数将要发送的数据写入w缓冲区原创 2023-02-23 02:07:08 · 2363 阅读 · 1 评论 -
进程组和用处
进程组:一个或多个进程的集合,进程组ID是一个正整数。作用:子进程退出时,不管父子进程同不同一个进程组,都会发SIGCHLD信号给父进程当父子进程同进程组时,父进程应捕捉SIGCHLD信号,对子进程资源进程回收,防止僵尸进程的产生当父子进程不同进程组时,比如设置子进程成为了一个新的进程组,这时候子进程退出,系统也会正常回收子进程的资源,不会产生僵尸进程的。原创 2023-02-16 12:09:35 · 441 阅读 · 0 评论 -
父进程用SIGCHLD信号回收子进程资源,防止僵尸进程的产生
【代码】父进程用SIGCHLD信号回收子进程资源,防止僵尸进程的产生。原创 2023-02-15 23:09:04 · 143 阅读 · 0 评论 -
用信号SIGUSR1和SIGUSR2实现父子进程同步输出
【代码】用信号SIGUSR1和SIGUSR2实现父子进程同步输出。原创 2023-02-15 15:20:56 · 169 阅读 · 0 评论 -
CentOS core文件调试
CentOS core文件调试原创 2023-02-14 00:06:05 · 132 阅读 · 0 评论 -
进程间通信:fifo实现本地多人聊天程序
有名管道fifo,解决无血缘关系的进程间通信原创 2023-02-13 03:28:53 · 484 阅读 · 0 评论 -
dirent结构体
dirent,LINUX系统下的一个头文件,在这个目录下/usr/include,为了获取某文件夹目录内容,所使用的结构体。1Linux下c语言编程所引用编辑LINUX系统下的一个头文件,在这个目录下/usr/include为了获取某文件夹目录内容,所使用的结构体。引用头文件#include2结构体说明编辑struct转载 2015-01-18 22:50:27 · 2374 阅读 · 0 评论 -
linux线程互斥锁
使用线程编写程序需要技巧,而多线程的程序中的bug非常难以跟踪、调试,因为这些bug经常是难以再现的。竞争条件:当一个线程访问一个数据结构的时候,另一个线程也访问同一个数据结构,这时就出现了竞争条件——两个线程(也可能是多个)竞争对同一个资源的访问。当其中一个线程处理到一部分的时候,另外的线程可能进入了对同一数据的处理,而且出于调度的原因,它运行的比前一个更快;这时,同样的处理可能转载 2015-01-18 22:45:23 · 796 阅读 · 0 评论 -
Linux线程-互斥锁pthread_mutex_t
在线程实际运行过程中,我们经常需要多个线程保持同步。这时可以用互斥锁来完成任务;互斥锁的使用过程中,主要有pthread_mutex_init,pthread_mutex_destory,pthread_mutex_lock,pthread_mutex_unlock这几个函数以完成锁的初始化,锁的销毁,上锁和释放锁操作。一,锁的创建 锁可以被动态或静态创建,可以用转载 2015-01-18 22:46:49 · 418 阅读 · 0 评论 -
linux下signal函数
当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。根据信号的默认处理规则SIGPIPE信号的默认执行动作是 terminate(终止、退出), 所以client会退出。若不想客户端退出可以把 SIGPIPE设为SIG_IGN转载 2014-08-16 10:45:37 · 491 阅读 · 0 评论 -
apue.h头文件的配置
相信很多初学《UNIX环境高级编程》的朋友都会遇到一个问题,运行里面的实例(download:http://www.apuebook.com/ )时就出现问题,提示 "错误:apue.h:没有那个文件或目录". apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是 /usr/include),这样gcc编译器就可以找到它了。转载 2014-08-06 11:35:34 · 614 阅读 · 0 评论