
Linux
文章平均质量分 81
饭_团
这个作者很懒,什么都没留下…
展开
-
进程fork()
fork()函数是Linux的一个重点知识,它会为程序创建一个新的进程,原来的进程为父进程,新生成的进程为子进程,fork()函数调用一次会返回两次,父进程返回子进程的pid,而子进程返回 0 ,失败返回 -1。fork() 数据共享问题:fork产生子进程后,并不会将父进程(代码、栈区、堆区、全局变量)拷贝一份,内核将这些区域设置为只读,当父子进程中任意一个试图修改数据时,才会将修改数据...原创 2019-07-29 20:47:14 · 403 阅读 · 0 评论 -
线程安全与线程同步
线程安全 (可重入函数)线程之间共享全局数据段、静态数据,引起非线程安全。线程安全可以通过线程同步对临界资源访问进行控制来实现。有些系统调用或者库函数的实现时发生不安全现象,在多线程环境下就需要使用这些函数的安全版本,即可重入函数。例如:字符串分割函数普通版本:char* strtok(char* sourstr,const char* flag)可重入版本:char* str...原创 2019-08-19 14:43:28 · 368 阅读 · 0 评论 -
Linux☞Git使用方法
首先在系统中安装git,安装好了之后就对git中自己的信息进行设置绑定邮箱:gitconfig--globaluser.email“邮箱名” 使用者名字:gitconfig--globaluser.name“名字”接下来就开始正式的操作,首先创建一个空目录,初始化一个空仓库,以后再此仓库中进行git操作gitinit:初始化一个空的git仓库将文件上传至git仓库命...原创 2019-08-10 10:36:17 · 147 阅读 · 0 评论 -
守护进程
守护进程:守护进程是一类在后台运行的特殊进程,用于执行特定的系统任务。很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。另一些只在需要的时候才启动,完成任务后就自动结束。特点:运行时间长、后台执行、不需要与用户交互。会话:每打开一个终端,系统就会建立一个新会话。会话首进程:在会话中运行的第一个进程,通常会话首进程的id会作为会话id。组长进程:组长进程的pid 和进程组i...原创 2019-08-02 18:29:19 · 142 阅读 · 0 评论 -
多进程、多线程
多进程,多线程的编程是高性能服务器编程的重点,多进程编程:父进程负责监听、并接受客户连接(accept),fork() 创建子进程,子进程处理与客户端通讯。多进程编程中父子进程共享文件描述符,父进程不需要将接收的链接文件的文件描述符传递个子进程。父进程要关闭链接的文件描述符,如果父进程不关闭文件描述符,后续创建的子进程会将所有的文件描述符继承下来,后续的链接的文件的文件描述符不断增大,...原创 2019-08-03 23:04:12 · 111 阅读 · 0 评论 -
TCP/IP协议簇
TCP/IP协议簇是一个四层协议系统,自顶向下分别是:应用层 传输层 网路层 数据链路层。每一层完成不同的功能,且通过若干协议来实现,上层协议使用下层协议提供的服务。TCP/IP协议簇体系结构及主要协议数据链路层:完成两个相邻节点之间数据的可靠传输。实现网卡接口的网络驱动程序以处理数据在物理媒介上传输。MAC地址(物理地址)48位(包括以太网、令牌环和802.11无线网络)A...原创 2019-07-27 09:31:15 · 4188 阅读 · 0 评论 -
I/O复用
什么是I/O复用?I/O复用使得一个程序可以同时监听多个文件描述符。常见的使用场合:TCP服务器要同时处理监听socket和链接socket。Linux下实现I/O复用的系统调用只要有select、poll和epoll,epoll是Linux系统独有的。Select 在一段指定时间内,监听用户感兴趣的文件描述符上的可读、可写和异常等事件。函数原型:#include<...原创 2019-08-03 10:10:31 · 112 阅读 · 0 评论 -
TCP、UDP报文
TCP和UDP协议是网络通信中的重要协议,TCP与UDP的报头也是面试中的重点,今天我们来对这两个的报头进行详解。首先来看一下TCP报头,如图所示:源端口号:标识报文发送主机的进程也是报文的返回地址。目的端口号:标识接收报文主机的进程。32位序号:用来标识从TCP源端向TCP目标端发送的数据字节流,它表示在这个报文段中的第一个数据字节。32位确认号:包含目标端所期望收到源端的下...原创 2019-07-30 19:41:21 · 334 阅读 · 0 评论 -
linux常见操作指令
终端操作 放大终端:"ctrl" + "shift" + "+" 切换目录:cd ~ (切换到个人家目录) 查看当前目录:pwd ls 查看当前目录的文件和子目录 ls -a 显示所有文件,包括隐藏文件 清屏,clear,或者ctrl+l 新建文件夹(目录),mkdir 文件夹名(目录名) ,例如 mkdir src 编辑文件:vi 文件名 i进入编辑模式 新建普通文...原创 2018-10-17 22:59:46 · 816 阅读 · 1 评论 -
线程
什么是线程:线程是进程内部的一条执行路径,是系统调动的基本单位,每个进程至少有一条线程,称之为主线程。 由于线程是进程内部的一条执行路径,所以一个进程中的所有线程共享全局、堆数据,包括打开的文件描述符,只有每个线程栈区的数据是线程独享的。线程的实现方式有三种模式分别为用户级、内核级、混合模式。接下来分别介绍着山中实现方式。用户级:线程的创建、销毁、管理都是在用户空间...原创 2019-07-30 13:10:27 · 129 阅读 · 0 评论 -
与浏览器交互的web服务器
采用TCP/IP协议完成,涉及的头文件如下#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <unistd.h>#include <arpa/inet.h>#include <netin...原创 2019-08-17 11:48:05 · 271 阅读 · 0 评论