Linux
Track48
zhengzhaozuo
展开
-
Linux下的read() write()
read是将内核空间读缓冲区的内容读到用户空间;write是将用户空间的内容写到内核空间的写缓冲区剩下的操作比如将缓冲区的内容发送到对端是由协议栈完成,协议栈还完成校验和的计算和判断消息的到达read 、recv:如果读缓冲区没数据非阻塞IO read=-1 且 errno=EWOULDBLOCK 阻塞IO read阻塞直到IO有数据消息发送完毕write、send 只是将数据写到写缓冲区,假如缓冲区满了非阻塞IO write=-1 且errno=...原创 2021-10-13 15:13:30 · 182 阅读 · 0 评论 -
为什么 IO 多路复用要搭配非阻塞 IO?
链接:https://www.zhihu.com/question/37271342A:1、当有数据到达时,select会返回有可读事件,假设到达的数据不能一次性读完(分三次),如果使用非阻塞IO,使用while循环,我们可以通过是否抛出EWOULDBLOCK异常来判断是否读完所有数据;由于IO复用不会告诉我们来了多少数据,只告诉可读,如果使用阻塞IO,当使用while循环的时候,前三次读完所有数据,第四次将阻塞在read上;当然也可以不使用while循环,而是只读一次,第二次再用select返回可转载 2021-10-13 15:09:04 · 281 阅读 · 0 评论 -
僵尸进程以及如何处理
出现原因:一般来说,父进程需要追踪子进程的退出状态,因此当子进程结束运行后,内核不会立即释放该进程的进程表表项,以满足父进程后续对子进程退出信息的查询两种情况:1、在子进程退出之后,父进程读取其退出状态前,子进程处于僵尸进程2、当父进程异常终止或者结束时,子进程仍在继续运行,这时候子进程的PPID为1,即init进程,子进程处于僵尸状态造成影响:占据内核资源解决方案:wait() 以及 waitpid()//记住kill()是发送信号两者区别:wait只有阻塞性...原创 2021-10-13 15:03:36 · 1507 阅读 · 0 评论 -
EAGAIN和EWOULDBLOCK的处理办法
????:https://www.dyxmq.cn/program/code/c-cpp/how-to-handle-eagin-and-ewouldblock-error-in-linux-c.htmlEAGAIN和EWOULDBLOCK是linux环境下的两个错误码,在非阻塞IO中经常会碰到,对新手而言,如何处理这两个值非常头疼。如果处理不当,很容易导致程序异常。EAGAIN的官方定义:“Resource temporarily unavailable.” The call might转载 2021-10-13 15:00:38 · 2033 阅读 · 0 评论 -
Linux C/C++ 进程管理
在UNIX/LINUX系统中,用户创建一个新进程的唯一方法就是调用系统调用fork(),调用该函数的进程被称作为父进程,而新创建的进程被称作为子进程,调用语法为下:x_val = fork()调用这个函数之后,之后的代码被子进程和父进程各执行一次,因为子进程拷贝了父进程的上下文逻辑副本,唯一的区别是x_val不一样,子的x_val是0,父的x_val是子进程的进程号,详细操作如下:为新的进程分配一个新的PCB 结构 为子进程赋一个唯一的进程标识符PID 做一个父进程的上下文逻辑副本,(代码段原创 2021-04-12 15:53:26 · 562 阅读 · 0 评论 -
现代计算机网络-Lab1
vi撤销:命令模式+uu复制:命令模式yy粘贴:命令模式+p删除整行:命令模式+cc看三个主机网卡是否正确:eth0,eth1,eth2,假如不是rm /etc/udev/rules.d/70-persistent-net.rules再重启reboot假如网卡没有启动:ip link set eth1 up给网卡配置ipPC1:ip address add 192.168.1.1/24 dev eth1ip address add 192.16..原创 2020-11-06 13:07:32 · 344 阅读 · 1 评论 -
Linux学习-2019
你都大三了,对Linux还不熟练?OS都考了95分,还不会Linux?丢脸Linux 英文解释为 Linux is not Unix。针对的是Linux服务器方面的知识,适合从事运维或后端开发的人员阅读。1、Linux简介Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。Linux是一套免费使用和自由...原创 2019-05-12 23:40:01 · 212 阅读 · 0 评论