自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 套接字实现TCP服务器

在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标示网络通讯中的一个进程,“IP地址+端口号”为socket(套接字)

2017-07-29 14:26:54 347

原创 命令代换及eval命令

shell中的命令代换符号有反引号和$() 反引号,在执行时,会将其中的语句作为命令执行一遍,将执行结果代到原来的命令中。

2017-07-12 15:38:35 315

原创 TCP三次握手与四次挥手

TCP是主机对主机层的传输协议,提供可靠地连接服务协议,采用三次握手建立一个连接

2017-07-11 10:26:17 313

原创 NAT技术与代理服务器

NAT技术又叫网络地址转换(Network Address Translation),是虚拟专用网(VPN)用来和因特网进行访问与交流所采用的技术。VPN虚拟专用网,因因特网的不安全,于是用ip隧道通过因特网将一个公司所在的不同专用网连接起来,当两边进行交流是对数据进行加密,通过因特网到达对面时,对数据进行解密,从而保证了数据的安全性。

2017-07-10 14:51:50 201

原创 TCP首部的URG与PSH及其区别

URG和PSH属于TCP中的标志位。 URG:表示本报文发送的数据中是否有紧急数据,URG=1,表示有紧急数据,紧急指针字段只有在URG=1时有效。

2017-06-30 13:42:55 404

原创 守护进程及守护进程中两次fork问题

守护进程(daemon)也称为精灵进程,是运行在后台的一种特殊程序。独立于终端控制且周期性地执行某种任务或等待处理某些发生的时间。 守护进程一般7*24小时运行,因为守护进程自成会话,故不受用户注销登录影响,在命名上通常以d结尾。

2017-06-27 15:43:29 472

原创 子进程的异步等待方式

信号:Linux中的信号是一种时间通知机制,告诉某事件发生,并说明如何发生。 利用kill -l 指令可以查看信号,其中1——31为普通信号,34——64为实时信号。等待分为阻塞式等待和非阻塞式等待,我们用非阻塞式等待实现异步。 一个子进程退出时,子进程会主动向父进程发送SIGCHLD信号,父进程一般忽略。我们队SIGCHLD信号进行捕捉。

2017-06-27 10:20:51 243

原创 浅谈crond服务及crontab用法

Crond是Linux用来定期执行命令或指定程序任务的一种服务或软件。Crond服务会定期(默认每分钟检查一次)检查系统中是否有要执行的任务工作。如果有,便会根据其预先设定的定时任务规则自动执行该定时任务工作。这个Crond定时任务服务就相当于我们早上使用的闹钟一样。

2017-06-26 17:33:49 334

原创 基于单链表以及环形队列的生产者消费者模型

基于单链表的生产者消费者模型: 将生产者生产的利用链表的头插放入链表中,消费者头删从链表中取

2017-06-26 10:11:08 298

原创 线程安全与可重入函数对比

线程是系统调度的最小单元,进程是资源分配的最小单元,通常一个进程可以派生出多个线程,各线程间之间相互独立,共享系统资源,提高了CPU的利用率。线程主要由控制流程和资源使用两部分构成,因此一个不得不面对的问题就是对共享资源的访问。为了确保资源得到正确的使用,开发人员在设计编写程序时需要考虑避免竞争条件和死锁,需要更多地考虑使用线程互斥变量。

2017-06-11 14:29:35 358

原创 gdb调试多进程多线程程序

默认情况下调试多进程程序时gdb只会调试主进程,但是gdb也是支持多进程多线程同时调试的。只需设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:on)即可。

2017-06-11 13:13:44 276

原创 进程间通信之管道通信(匿名管道)

Linux中,每个进程都有各自的地址空间及自己的用户级页表,映射到物理内存的不同地方,因此进程间互不影响,即进程间相互独立。那么不同的进程要如何实现进程间通信呢?也就是进程间通信的本质,就是不同的进程通过看到公共资源来实现进程间通信,而这里的公共资源一般由操作系统提供,不同的提供者、提供方式也决定了通信方式的不同。

2017-05-12 17:39:43 526

原创 Linux中atexit()在有多个自定义函数时对函数的调用顺序验证

Linux下的函数介绍为atexit函数为注册函数,提供注册机制,在进程终止的时候被调用,所传参数为函数指针。但是要注意的是exit调用这些注册函数的顺序与它们登记时候的顺序是相反的。同一个函数如若登记多次,也会被调用多次。

2017-04-28 20:17:07 488

原创 Linux下僵尸进程和孤儿进程模拟

首先,介绍一下僵尸进程与孤儿进程定义:僵尸进程:一个子进程在其父进程没有调用wait()或waitpid() 的情况下退出,子进程就是僵尸进程,不及时回收僵尸进程会造成内存泄漏。

2017-04-16 22:37:02 370

原创 Linux下的 task_struct内容

所有的进程信息都被放在了一个结构体中,这个结构体叫做进程控制块。 每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。

2017-04-11 20:32:07 718

原创 Linux下进度条的简单实现

linux下进度条的原理: 1、Linux下的回车换行 2、fflush()函数

2017-04-11 20:01:06 495

原创 Linux里vim简单配置文件

vim是Linux下的编辑器,可以根据个人需要配置成自己喜欢的样子,下面简单介绍一下我的配置。首先,在当前用户目录下添加.vimrc文件,打开文件,就可以进行配置文件的编写了,当然,所系配置只对在当前目录下文件进行vim编辑时有效,即缩写配置文件只作用于当前用户的vim。

2017-03-29 20:51:47 601

原创 Linux下的find指令解析

在Linux下,find命令用来在目录结构中搜索指定文件并执行指定操作,它可以根据不同的条件来查找文件,例如权限、拥有者、修改日期/时间、文件大小等等。 find基本语法为: find pathname -optionns [-print -exec -ok...]

2017-03-21 19:53:46 345

原创 Linux中目录权限以及stat查看文件信息时的Access time,Modify time,Change time解析

我们知道在Linux中目录也是文件,而对文件的操作需要有相关的权限。 ①读:r/4,read对文件而言具有读取文件内容的权限。 ②写:w/2,write对文件具有修改文件内容的权限。 ③执行:x/1,execute对文件具有执行文件的权限。 那么在目录中是否也同样如此呢?

2017-03-14 18:01:28 1093

原创 继承小结

一、继承概念 继承(inheritance)机制是面向对象程序设计使代码可以重复使用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承。 继承,通俗的讲可以看做遗传,儿子具有和父亲相同的部分我们通常称为是从父亲那儿遗传得

2016-10-24 23:04:38 207

原创 this指针与构造函数

this指针this指针含义及用法:1、this指针是指向每一个成员函数的特殊指针,当不同的对象调用同一个类的成员函数代码时,编译器会依据该成员函数的this指针所指向的不同对象来确定应该引用哪个对象的数据成员;2. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针;3. 在C++中,this指

2016-09-27 11:29:34 424

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除