![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux系统编程-网络编程
Lee Neo
稚晖的小迷弟。
展开
-
C++小结
借楼,已经手动修改CSDN外链图片失败问题,并进行笔记优化,方便各位查阅讲义,原创 2022-07-30 10:53:50 · 156 阅读 · 0 评论 -
高级IO提纲
阻塞是将程序挂起,交出cpu资源,因此CPU的占用率很低;非阻塞尝试着去做;阻塞IO无法实现单线程的并发读取,原创 2022-07-24 17:12:23 · 71 阅读 · 0 评论 -
线程同步小结
线程同步——信号量,有资源量控制的资源共享;没有单独的机制,通过互斥量和条件变量实现;原创 2022-07-12 23:00:28 · 126 阅读 · 0 评论 -
线程同步——条件变量
线程同步的第二种方法:使用 pthread_cond_init()函数初始化条件变量,当不再使用时,使用 pthread_cond_destroy()销毁条件变量。pthread_cond_wait()函数的函数功能如同注释的一样,通过互斥锁实现;使用 while 循环,而不是 if 语句,这是一种通用的设计原则 一般先解锁后发通知;代码实例:...原创 2022-07-12 22:00:58 · 87 阅读 · 0 评论 -
互斥量互斥锁
调试小技巧:统计程序消耗的时间;互斥量:pthread_mutex_init()函数对互斥锁进行初始化互斥锁加锁和解锁销毁互斥锁pthread_mutex_destroy()函数来销毁互斥锁互斥锁属性pthread_mutex_init()函数初始化互斥锁时可以设置互斥锁的属性pthread_mutexattr_destroy()将其销毁pthread_mutexattr_gettype()函数得到互斥锁类型属性,pthread_mutexattr_settype()修改/设原创 2022-06-26 20:12:14 · 173 阅读 · 0 评论 -
线程的概念、创建、终止、回收、分离、取消、清理
线程是一个正在运行的函数大部分线程都是支持线程并发,如果不支持则需要注明;解决异步事件:多线程和信号,更建议多线程;进程是容器,有很多线程;进程不能运行, 真正运行的是进程中的线程。进程仅仅是一个容器, 它包含了线程运行所需的数据结构、环境变量等信息。(会话是进程的容器,进程是线程的容器)多线程编程切换开销小、线程通信容易、创建速度快、在多核处理器上面更有优势,因此最常用。⚫ 串行:一件事、一件事接着做⚫ 并发:交替做不同的事;⚫ 并行:同时做不同的事。对于单核处理器来说,只能采用并发允许系统中的原创 2022-06-19 18:08:37 · 275 阅读 · 0 评论 -
并发1:信号的基本概念、signal()
同步异步:异步事件的处理:信号是软件层面的中断;信号的响应依赖中断;CTRL+c的信号是SIGINT 信号会打断 阻塞的系统调用 上面的程序当长按CTRL+c时会直接打断系统调用sleep(),因此会迅速执行完; open说明: 当设备被阻塞在打开一个慢的设备,会被一个信号打断,产生EINTR错误; 解决方法:...原创 2022-06-12 22:31:55 · 142 阅读 · 0 评论 -
系统 日志
/var/logsyslogd服务原创 2022-06-12 15:02:44 · 177 阅读 · 0 评论 -
进程会计、进程时间、守护进程
会将消亡的进程信息记录到特定的文件当中;统计进程的时间;会话;终端;setsid();守护进程的特征:ppid=1;pid=sid=pgid;tty=?;原创 2022-06-11 19:57:13 · 136 阅读 · 0 评论 -
system()
system相当于fork+exec+wait的简单封装;system初体验:system的实现过程:原创 2022-06-11 10:33:01 · 108 阅读 · 0 评论 -
解释器文件
解释器文件也叫脚本文件脚本文件包括:shell脚本,python脚本等;脚本文件的后缀可自定义;第一行是解释器路径,装载解释器程序后会用这个解释器来解析脚本文件如装载cat程序;则会用cat解释该脚本,并直接将文件内容打印出来;...原创 2022-06-11 10:09:08 · 200 阅读 · 0 评论 -
用户权限和组权限
当用户修改自己的密码时,需要修改shadow文件,这个文件普通用户时无法访问的;为什么普通用户可以修改自己的密码?这是因为passwd文件有u+s权限; 当执行passwd指令时会切换成root身份;执行时需要:......原创 2022-06-11 09:13:50 · 264 阅读 · 0 评论 -
exec函数、shell的实现
问题:为什么bash创建的子进程和自己的不一样?execl、execlp、execle/功能:替换(replace)当前的进程印象(process image)重点在于replace:可以这么理解,由于身体的细胞一直在衰老更替,七年之后,你身体的细胞都不是原来的细胞了,"替换"成新的细胞了;execl会替换缓冲区,因此前面需要刷新流;shell命令行的工作过程:few三部曲父子进程为什么会打印在一个终端:因为父子进程的文件描述符相同指向同一个终端...原创 2022-06-10 21:05:32 · 572 阅读 · 1 评论 -
进程的创建fork()、消亡wait()
类型pid_t;;最多容纳三万多,16位有符号整型ps命令ps axfgetpid();getppid();注意理解关键字:duplicating,意味着拷贝、克隆、一模一样的完整的两份代码,执行的位置也一样;fork后的父子进程区别:init进程:1号,是所有进程的祖先进程vfork();wait();waitpid ();4.exec函数5、用户权限和组权限6. 观摩课:解释器文件7、 system()8、进程会计9、进程时间10、...原创 2022-06-08 19:25:35 · 169 阅读 · 0 评论 -
课程学习方法
Linux环境编程-网络编程;课程以流媒体广播项目为引子,介绍Linux环境c编程知识。课程章节以UNIX高级编程第二版的章节来划分,课程只有知识点讲义,这里根据需要重点听多线程进程及网络编程部分; 项目需求分析:项目部署:server端搭载在PC上,client端搭载在嵌入式设备上;搭建目录install :部署说明。license:再大小写makefile同时存在时,会先关联小写的,因此可以将源码的写出Makefile,方便后面他人修改;感觉这种项目,实际上用到socket和进程的知识并不多,就和之前C原创 2022-06-06 23:06:48 · 296 阅读 · 0 评论