
Linux
文章平均质量分 68
hkhl_235
这个作者很懒,什么都没留下…
展开
-
TCP 粘包问题
这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下: 一 .两个简单概念长连接与短连接:1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2.短连接 Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点 ...转载 2017-09-08 17:45:04 · 201 阅读 · 0 评论 -
学习线程原语
创建线程获取线程ID打印创建错误信息等待线程(类比进程wait)取消线程设置线程分离态比较线程是否相等gcc编译时候需要加 -lpthread (gcc *.c -lpthread)头文件则需要添加 #include<pthread.h>了解线程的每个原语,有助于对多线程编程透彻的理解创建线程Pthread_create(p...原创 2018-03-26 13:01:56 · 513 阅读 · 0 评论 -
五种I/O模型
先来了解一下阻塞与非阻塞的大致概念五种I/O模型原创 2018-03-23 20:31:05 · 153 阅读 · 0 评论 -
linux下malloc实际开辟空间大小
测试linux下malloc实际开辟空间的大小 /*malloc参数可为0 但不可以为负*/ //测试本机64位机,只要malloc传的参数小于24(包括0) //则第一次最小分配24字节,不同机器可能会有出入 //若大于24字节, 例如1000,则分配1000或者1000大一点预分配内存/* malloc申请空间实际分配? */#include <stdli...原创 2018-03-17 23:25:58 · 4424 阅读 · 0 评论 -
dup(应用dup将printf函数重定向到文件当中)
/* printf重定向到某个文件中 *//* dup()函数功能: */#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <fcntl.h>int main(){ /* 函数: int fd...原创 2018-03-16 17:55:46 · 829 阅读 · 2 评论 -
dup2函数功能详解
如题,如果对dup2函数功能模糊的朋友可以看一看linux下测试。#include <stdio.h>#include <stdlib.h> /*exit函数*/#include <fcntl.h> /*open函数*/#include <unistd.h> /*dup2函数*//**STDIN_FILENO 0 ...原创 2018-03-16 17:26:52 · 1094 阅读 · 0 评论 -
linux下一些特殊进程
InitKthreaddMigration ksoftirqd Watchdogd Events Init Linux下有3个特殊的进程,idle进程(PID=0), init进程(PID=1)和kthreadd(PID=2) * idle进程由系统自动创建,运行在内核态 idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fork或...原创 2017-11-28 11:45:43 · 2618 阅读 · 0 评论 -
什么是lsof
lsof代表列表打开文件。如果把lsof命令看作“ls + of”,其中ls代表列表,并且代表打开的文件,则很容易记住lsof命令。Linux中的lsof命令在其输出中显示由进程打开的文件的信息如果要快速查看特定进程(或所有进程)已经打开的文件的名称,则可以使用lsof命令。打开的文件可以是常规文件,目录,库,块特殊文件,字符特殊文件,正在执行的文本引用,甚至是流或网络文件。 下面是lsof命令的...原创 2017-11-28 18:33:15 · 1346 阅读 · 0 评论 -
服务器与客户端模型SIGPIPIE信号
先了解下套接字的关闭客户端调用close,或者就算客户端进程关闭,系统内核也会自动close(socket),且注意,当socket引用为0时才会真正调用close(),close()总是立即返回的,然后由系统尝试发送完内核缓冲区内的所有数据,接着才发送FIN。说到这里,不得不谈谈TCP连接关闭的四次握手。可以看成是2组FIN, ACK。主动关闭的一方先发送FIN,收到ACK后,进入FIN_WAI...原创 2017-09-12 17:14:07 · 470 阅读 · 0 评论 -
vfork中的return和exit详解
一. 首先我们需要了解 vfork创建一个子进程, 并且父子进程是**共享**一片内存区域的。(fork创建的子进程是拷贝父进程的代码段,堆栈段,数据段,PCB)可以理解为vfork的子进程是在父进程的空间中存活。二. return是函数的返回,返回后释放堆栈资源 exit是进程的结束,系统级别的,直接退出整个进程进入正题return和exit在代码中的使用以及对程序的影响情况。...原创 2017-08-28 11:59:57 · 1231 阅读 · 0 评论 -
有关Bash shell的会快捷操作,更高效的学习
bash快捷操作生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率。控制命令 Ctrl + l :清屏 Ctrl + o:执行当前命令,并选择上一条命令 Ctrl + s:阻止屏幕输出(锁屏) Ctrl + q:允许屏幕输出(解锁) Ctrl + c:终止命令 (发送SIGINT信号个给前台进程组所有程序) Ctrl + z:挂...原创 2017-09-11 20:08:27 · 206 阅读 · 0 评论