关闭

套接字实现TCP服务器

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

命令代换及eval命令

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

TCP三次握手与四次挥手

TCP是主机对主机层的传输协议,提供可靠地连接服务协议,采用三次握手建立一个连接...
阅读(138) 评论(0)

NAT技术与代理服务器

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

TCP首部的URG与PSH及其区别

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

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

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

子进程的异步等待方式

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

浅谈crond服务及crontab用法

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

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

基于单链表的生产者消费者模型: 将生产者生产的利用链表的头插放入链表中,消费者头删从链表中取...
阅读(83) 评论(0)

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

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

gdb调试多进程多线程程序

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

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

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

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

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

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

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

Linux下的 task_struct内容

所有的进程信息都被放在了一个结构体中,这个结构体叫做进程控制块。 每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。...
阅读(178) 评论(0)
21条 共2页1 2 下一页 尾页
    个人资料
    • 访问:2708次
    • 积分:232
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类