<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_36675830的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_36675830</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_36675830]]></copyright><item><title><![CDATA[Linux编程之守护进程]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/79504566</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/79504566</guid><author>qq_36675830</author><pubDate>Sat, 10 Mar 2018 00:15:06 +0800</pubDate><description><![CDATA[（一）守护进程是什么？

守护进程即使运行在后台他，不依赖于终端的一种服务型进程。该进程是一种很有用的进程， Linux的大多数服务器就是用守护进程实现的。比如，Internet服务器inetd，Web服务器httpd等。同时，守护进程完成许多系统任务。 比如，作业规划进程crond，打印进程lpd等。



（二）为什么需要守护进程

（1）脱离终端，一般的进程是依赖于终端的，当终端关闭时，该终...]]></description><category></category></item><item><title><![CDATA[mmap原理之详解]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/79283113</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/79283113</guid><author>qq_36675830</author><pubDate>Wed, 07 Feb 2018 18:20:44 +0800</pubDate><description><![CDATA[本文转自：http://www.cnblogs.com/huxiao-tee/p/4660352.html（一）mmap基础概念mmap是一种内存映射文件的方法，即将一个文件或者其它对象映射到进程的地址空间，实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后，进程就可以采用指针的方式读写操作这一段内存，而系统会自动回写脏页面到对应的文件磁盘上，即完成了对文件的操作而]]></description><category></category></item><item><title><![CDATA[http协议简介]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/79156977</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/79156977</guid><author>qq_36675830</author><pubDate>Wed, 24 Jan 2018 23:55:34 +0800</pubDate><description><![CDATA[HTTP简介HTTP协议是Hyper Text Transfer Protocol（超文本传输协议）的缩写,是用于从万维网（WWW:World Wide Web ）服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据（HTML 文件, 图片文件, 查询结果等）。HTTP是一个属于应用层的面向对象的协议，由于其简捷、快速的方式，适用于分布式超媒体信息系统。它于199]]></description><category></category></item><item><title><![CDATA[linux编程之进程控制]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/79065345</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/79065345</guid><author>qq_36675830</author><pubDate>Mon, 15 Jan 2018 15:44:46 +0800</pubDate><description><![CDATA[（一）fork

  #include 
  pid_t fork(void);


返回值：有两个，一个是子进程的ID,另一个为零。当返回值为0时，进入子进程,大于0进入父进程，返回-1时创建进程错误。

子进程与父进程的比较： 
（1）子进程与父进程的进程ID不同。且父进程ID不同。 
（2）内存布局： 子进程是父进程的副本，其中子进程的数据空间，堆，栈是父进程的副本，但是共享真正文段。 
（]]></description><category></category></item><item><title><![CDATA[Linux编程之进程的环境]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/79050165</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/79050165</guid><author>qq_36675830</author><pubDate>Sat, 13 Jan 2018 11:12:25 +0800</pubDate><description><![CDATA[一程序的存储空间布局
二进程的关闭
三环境变量
1环境表
2获得环境变量
3设置环境变量


四setjmp函数与longjmp函数
1作用 检测深层函数的错误信息
2实现步骤












进程是非常重要的概念，学习进程自我感觉最好的学习方式是从进程的结构上去理解进程，先从浅再入深，循环渐进，下面就总结一下最近对进程的环境的学习总结吧。



（一）程序的存储空间布局

每一个程序都包]]></description><category></category></item><item><title><![CDATA[Linux编程目录操作]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78946672</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78946672</guid><author>qq_36675830</author><pubDate>Mon, 01 Jan 2018 18:58:46 +0800</pubDate><description><![CDATA[对于linux文件目录操作函数其实使用命令就能实现，但是其实对于一些命令本质上就是调用系统函数的，比如：madir,umask，chown等命令。所以此篇博客就对文件目录操作的系统函数进行一下总结。（1）stat，fstat，fstatat 获取文件信息   #include <sys/types.h>
   #include <sys/stat.h>
   #include <unistd.h>]]></description><category></category></item><item><title><![CDATA[linux编程之文件I/O]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78938412</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78938412</guid><author>qq_36675830</author><pubDate>Sat, 30 Dec 2017 17:36:16 +0800</pubDate><description><![CDATA[linux下C语言对于文件的操作，我们会经常用到fopen(），fclose()，fwrite(),fread(),fgets()等一系列库函数，基本和是和windows下学习C语言一样的，其实这些库函数就是在linuxx下对系统调用函数的封装，因此这里只介绍系统函数下的文件操作函数。（一）open()打开文件#include <sys/types.h>   
#include <sys/stat.]]></description><category></category></item><item><title><![CDATA[shell脚本之awk]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78895794</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78895794</guid><author>qq_36675830</author><pubDate>Mon, 25 Dec 2017 19:05:54 +0800</pubDate><description><![CDATA[(一) 什么是awkawk其实相当于一门可以处理数据文本的语言，这么说的原因是其具有很多类c语言的语法，如：变量，数组，函数，流程控制等，其由Aho,Weinberger,Kernighan大约在1977年开发完成，随后被引入unix/linux中。(二) awk可以干什么awk是一个非常强大的数据处理工具，可对文本进行的编辑，筛选，其非常适用于处理有行和列组成的文本数据，就像处理数据库中的记录一样]]></description><category></category></item><item><title><![CDATA[shell脚本变量，数组与函数]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78884684</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78884684</guid><author>qq_36675830</author><pubDate>Sun, 24 Dec 2017 13:42:55 +0800</pubDate><description><![CDATA[（一）变量（1）变量的定义##等号两边不能有空格
value=123
value="jing"
declare -i value=100
（3）变量的作用域
局部变量 
需要使用local 定义 
全局变量
例如：#! /bin/bashfunc()
{
    echo "global v1 is $v1" #输出200全局变量
    local v1=100 #局部变量只在函数内有效]]></description><category></category></item><item><title><![CDATA[shell脚本之条件测试与判断]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78880835</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78880835</guid><author>qq_36675830</author><pubDate>Sat, 23 Dec 2017 16:46:31 +0800</pubDate><description><![CDATA[（一）条件测试，与C语言相反，表达式为真时为0，为假时为非0.其测试语法为：test exp 或 [ exp ]（1）字符串测试
string  为空时是非0，空时为0，只有test才能使用
-z string  判断是否为空串，空为0，不空为非零
-n string 判断是否为空串，空为非0，不空为零
str1 != str2 判断两个字符串是否不等
str1 = str2   判断是否相等
（2]]></description><category></category></item><item><title><![CDATA[脚本之正则表达式]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78879320</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78879320</guid><author>qq_36675830</author><pubDate>Sat, 23 Dec 2017 12:39:20 +0800</pubDate><description><![CDATA[（一）正则表达式是什么所谓的正则表达式就是一个描述某些字符串匹配规则的工具，使用其中的元字符可以更好的去匹配想要得到的字符。以便更好的对字符串的处理。（二）正则表达式能干什么主要目的就是匹配文本。但是对于正则表达式的使用需要配合一些根据使用来增强处理文本的功能，例如：grep，sed，awk，more，less，vi等。（三）正则表达式的原理正则表达式是文本过滤的工具，通过元字符配合其他的字符来表达]]></description><category></category></item><item><title><![CDATA[脚本之简单的sed]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78868075</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78868075</guid><author>qq_36675830</author><pubDate>Thu, 21 Dec 2017 21:40:54 +0800</pubDate><description><![CDATA[(一)sed是什么？sed是一个非交互式的文本编辑器，他可以对来自文本文件，以及标准输入的文本进行编辑，适用于较大的文本，且进行复杂的编辑工作。(二)sed的执行过程sed命令是从文件或者标准输入中一次性读取一行数据，将其复制到缓冲区，然后执行编辑命令对缓冲区的文本行进行编辑，重复此过程。流程如下图：（三）sed的使用  sed的一般命令形式为：sed 【options】 【 script】 【in]]></description><category></category></item><item><title><![CDATA[刚安装的ubuntu需要解决的一些问题]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78629345</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78629345</guid><author>qq_36675830</author><pubDate>Sat, 25 Nov 2017 00:02:56 +0800</pubDate><description><![CDATA[对于新安装的ubuntu会遇到一些问题，例如vim安装，apt-get的更新还有全屏的调节等一系列的问题，所以在这里进行一一解决**(一)全屏的调节,第一开始的进入ubuntu你可能会遇到如下图的显示问题 
，不管如何调节都不能取得全屏的状态，为什么会出现这种情况呢？原因是该操作系统默认分辨率为：**(1)点击右上角设置图标，点击system-setting (我已经调教好了只是做一个示范)(2)把]]></description><category></category></item><item><title><![CDATA[冒泡排序优化]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78581725</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78581725</guid><author>qq_36675830</author><pubDate>Mon, 20 Nov 2017 14:07:17 +0800</pubDate><description><![CDATA[冒泡排序比较简单**，首先简单说下算法思路：过程：a. 从第一个记录开始和第二个记录比较，如果大于第二个记录就交换，否则就不交换，比较下一个元素，依次循环下去，因此第一趟就会找到最大的值放到数组的最后面n-1的位置上。 
b. 然后用相同的方式在前n-2个元素中得出最大值放在n-2位置。 
c. 重复上述操作，知道全部比较完成。void BullSort(int a[], int length)
{]]></description><category></category></item><item><title><![CDATA[简单的KMP算法]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78505792</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78505792</guid><author>qq_36675830</author><pubDate>Sat, 11 Nov 2017 12:19:07 +0800</pubDate><description><![CDATA[虽然题目声称KMP简单，但只是对于理解了的人而言的，但是对于还没有理解的人来说，KMP算法确实是非常难的，但是不要紧，我相信通过我的介绍你会理解的，但是个人认为，不论什么比较难理解的算法，如果直接给你讲，即使讲的方法再简单，但是你没有去自己思考，那也是理解不了的，就像做一道特别难的数学题，你想了几个小时还是没有做出来，但是这时候当别人给你说的时候，你可能会豁然开朗，这是因为你前面几个小时的思考起到的]]></description><category></category></item><item><title><![CDATA[数据结构学习笔记（21）----红黑树]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78463262</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78463262</guid><author>qq_36675830</author><pubDate>Mon, 06 Nov 2017 23:29:48 +0800</pubDate><description><![CDATA[（一）什么是红黑树对于红黑来说，其是从AVL树演变而来，因此首先应该满足AVL（平衡二叉树）的性质。然后在满足以下性质： 
（1）节点非红即黑  
（2）根节点必须是黑  
（3）叶子结点为空且必须为黑  
（4）任意一个节点到叶节点的路径中黑节点子树相同   
例如： 
 
满足上述性质就是一棵红黑树了，但是对于红黑树的删除与插入必须也要满足以上的条件，下面就来说一下红黑树的插入与删除（二）红黑树]]></description><category></category></item><item><title><![CDATA[数据结构学习笔记（20）---图的应用（生成树与最小生成树）]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78444107</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78444107</guid><author>qq_36675830</author><pubDate>Sat, 04 Nov 2017 16:06:49 +0800</pubDate><description><![CDATA[数据结构学习笔记（20）—图的应用（1）上一篇博客写了图的基本存储于遍历，在此基础上，此篇博客将会介绍图的主要应用—–生成树与最小生成树。（一）生成树定义：我总感觉书上定义比较繁琐，因此就自己简单定义了一下（可能不对哦），生成树其实就是：对于一棵树G,若顶点数为n,则在原来图的基础上把边删除到n-1条边且能连通各点就是生成树。，注意生成树不唯一 
例如： 
 
   利用遍历方法可以求得生成树，以邻]]></description><category></category></item><item><title><![CDATA[数据结构学习笔记（19） ---图的存储与遍历]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78443271</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78443271</guid><author>qq_36675830</author><pubDate>Sat, 04 Nov 2017 14:12:48 +0800</pubDate><description><![CDATA[（一）图的基本术语  (1)无向完全图：图中任意两个顶点都有边存在则该图为无向完全图，且图的边树数为：n*（n-1）/2   
(2)有向完全图：图中任意两点都有方向相反的边则该图为有向完全图，且图的边树数为：n*（n-1）   
(3)连通图：若力图中任意两个顶点都有路径（即可到达）则成该图为连通的。 
(4)连通分量：无向图中的极大连通子图称为该图的连通分量，显然无向连通图的连通分量为其自身。]]></description><category></category></item><item><title><![CDATA[如何使用pull request]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78420178</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78420178</guid><author>qq_36675830</author><pubDate>Wed, 01 Nov 2017 23:41:54 +0800</pubDate><description><![CDATA[前面主要讲的是如何使用git 与一些简单的GitHub操作，但是当你在网上看到一个正在开发项目时，想要参与进来，fork后，对该项目的代码或者对项目添加了一些功能后，想让别人采纳你的代码，这时候就需要想别人pull request 了，下面进行介绍。(一)什么是pull request :该功能从自己修改源代码后，请求对方仓库采纳该修改时采取的一种行为。(二)发送pull request 的前期准备]]></description><category></category></item><item><title><![CDATA[数据结构学习笔记（18）---B树]]></title><link>https://blog.youkuaiyun.com/qq_36675830/article/details/78377415</link><guid>https://blog.youkuaiyun.com/qq_36675830/article/details/78377415</guid><author>qq_36675830</author><pubDate>Sat, 28 Oct 2017 17:09:50 +0800</pubDate><description><![CDATA[（1）什么是B树，其实有一个另外的没名字叫B-树，所以网上说的B-树其实就是B树。B树的定义： 
(1) 首先B树是一棵平衡的m路查找树，树中每个节点的最多有m个子树。 
(2) 根节点最少有两个子树。 
(3) 除根节点以外的非叶子结点最少有[m/2]个子树。 
(4) 所有叶节点出现在同一层上，并且不含信息，通常称为失败节点，目的是便于分子B树的查找。 
好了，满足上述条件就是一个标准的B树了，]]></description><category></category></item></channel></rss>