
linux
BUG_SPECIAL
这个作者很懒,什么都没留下…
展开
-
vim相关配置
原创 2017-02-16 13:44:20 · 423 阅读 · 0 评论 -
Linux——守护进程(精灵进程)创建fork一次.两次的区别
守护进程概念,创建守护进程的步骤,代码实现,fork一次两次的区别原创 2017-05-14 17:35:48 · 888 阅读 · 0 评论 -
Linux——CRC校验运算的介绍
CRC,即循环冗余校验码,是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。其根本思想就是先在要发送的帧后面附加一个数,生成一个新帧发送给接收端。当然,这个附加的数不是随意的,它要使所生成的新帧能与发送端和接收端原创 2017-05-16 16:22:46 · 2178 阅读 · 0 评论 -
RARP协议的使用场景
RARP:反向地址转换协议。及把物理地址转换为IP地址的一种协议,工作在网络层。RARP的基本工作原理如下:(1)发送端发送一个本地的RARP广播包,在此广播包中声明自己的MAC地址,并且请求任何收到此请求的RARP服务器分配一个IP地址。(2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址。如果存在,RARP服务器就给源主机发送一个响应数据包,并将此IP原创 2017-05-16 16:34:19 · 3526 阅读 · 0 评论 -
Select服务器
服务器代码:#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<string.h>int array_fds[1024];//第三方数组,保存所有需要注意的I/Ostatic voi原创 2017-06-07 17:09:00 · 318 阅读 · 0 评论 -
路由表条目生成算法
首先,我们先了解一下路由表是个啥 路由表是指路由器或者其他互联网网络设备上存储的一张路由信息表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。 路由表建立的主要目标是为了实现路由协议和静态路由选择。 路由表中的表项内容包括: Destination:目的网络地址 Genmask:子网掩码 Gateway:下一原创 2017-06-03 17:24:29 · 1143 阅读 · 0 评论 -
shell eval命令
本文将会讲解一些linux中命令的使用与技巧希望对新手给予帮助 一 e v a l命令将会首先扫描命令行进行所有的置换,然后再执行该命令。该命令适用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时被称为复杂变量。不过这些变量本身并不复杂。e v a l命令也可以用于回显简单变量,不一定是复杂变量。 1 eval命令也可以用于回显简单变量,不一定是复杂变转载 2017-06-21 17:04:47 · 569 阅读 · 0 评论 -
poll服务器
想详细彻底地了解poll或看懂下面的代码请参考《Linux网络编程——I/O复用之poll函数》代码: [csharp] view plain copyinclude include include include include include include include include include include define OPEN_MAX 100int main(int argc转载 2017-06-21 17:50:52 · 435 阅读 · 0 评论 -
Linux下的crond crontab
crond crontab两者不可分割,crontab是一条常见于Unix或类Unix下的一条命令(windows下不同),用于设置周期性被执行的指令,crond为它的守护进程。可以用service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它,cron服务是一个定时执行的服务。 service crond stop原创 2017-07-11 17:44:52 · 485 阅读 · 0 评论 -
进度条实现
本片文章介绍进度条shell c的实现代码Shell脚本实现#!/bin/bashi=0str=""arr=("|" "/" "-" "\\")color=("30" "31" "34" "37")while [ $i -le 100 ]do let index=i%4 printf "\033[1;%dm[%-100s][%d%%]\033[1;4;%dm%c\033[0原创 2017-07-05 16:38:16 · 569 阅读 · 0 评论 -
NAT是个啥
NAT,网络地址转换,当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。也就是说,通过NAT将本网络的某主机的私有IP地址转换为公有IP地址,以实现访问Internet。它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问原创 2017-05-23 16:15:49 · 753 阅读 · 0 评论 -
可重入函数与线程安全
可重入函数: 当程序被多个线程反复执行,产生的结果正确。如果一个函数只访问自己的局部变量或参数,称为可重入函数。 不可重入: 当程序被多个线程反复调用,产生的结果出错。 当函数访问一个全局的变量或者参数时,有可能因为重入而造成混乱,像这样的函数称为不可重入函数如果⼀个函数符合以下条件之⼀则是不可重⼊的: (1)调⽤了malloc或free,原创 2017-05-03 13:10:15 · 377 阅读 · 0 评论 -
Linux信号——Sleep函数的模拟实现(利用alarm,pause,sigsuspend函数)
mysleep——利用alarm pause函数实现版本#include<stdio.h>#include<signal.h>#include<unistd.h>void sig_alrm(int signo){}int mysleep(int second){ struct sigaction new,old; int unslept = 0; new.sa_han原创 2017-05-03 11:40:02 · 949 阅读 · 0 评论 -
Linux进度条小程序及背景知识简述
Linux进度条小程序,sleep fflush \n与\r的区别原创 2017-02-16 18:06:59 · 582 阅读 · 0 评论 -
进程调度算法
1. 先来先服务调度算法(FCFS)先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使转载 2017-02-19 12:53:17 · 712 阅读 · 0 评论 -
linux 下 PCB 结构体 task_struct
Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,task_struct是Linux中的【进程控制块PCB结构】的具体数据结构这个结构体包含了一个进程所需的所有信息。它定义在linux-2.6.38.8/include/linux/sched.h文件中。下面对task_struct这个结构体 进行各个字段的详细介绍1. 调度数据成员转载 2017-02-20 20:24:40 · 722 阅读 · 0 评论 -
atexit函数简述
atexit函数是一个特殊的函数,它是在正常程序退出时调用的函数,我们把他叫为登记函数(函数原型:int atexit (void (*)(void))): ⼀个进程可以登记若⼲个(具体⾃⼰验证⼀下)个函数,这些函数由exit⾃动调⽤,这些函数被称为终⽌处理函数, atexit函数可以登记这些函数。 exit调⽤终⽌处理函数的顺序和atexit登记的顺序相反(网上很多说造成顺原创 2017-02-21 00:03:37 · 525 阅读 · 0 评论 -
linux struct_file结构
Linux struct file结构struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是:struct file { /* * fu_list becomes invalid after file_free is called and queued via转载 2017-02-21 00:36:27 · 891 阅读 · 0 评论 -
Linux下文件的三个时间
Linux下文件的三个时间: (1)access time(atime) 最后访问时间 这里的访问时间指文件被读取,更新的时间 。 (2)modify time(mtime) 内容修改时间 这里的修改时间指文件内容被修改,更新的时间。 (3)change time(ctime) 状态原创 2017-02-15 11:43:22 · 481 阅读 · 0 评论 -
菜鸟linux find命令的最基本认识
find,顾名思义,寻找,查询的意思,所以,从意思上看,find命令的主要功能是查询,搜索文件 find命令的一般格式为: find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression] find命令常用格式为: find [path...] [ex原创 2016-07-15 19:53:04 · 522 阅读 · 0 评论 -
进程间通信——信号量(P、V操作)
信号量的基本介绍: 信号量的本质是⼀种数据操作锁,它本⾝不具有数据交换的功能,⽽是通过控制其他的通信资源(⽂件,外部设备)来实现进程间通信, 它本只是⼀种外部资源的标识。信号量在此过程中负责数据操作的互斥、同步等功能。 当请求⼀个使⽤信号量来表⽰的资源时,进程需要先读取信号量的值来判断资源是否可⽤。⼤于0,资源可以请求,等于0,⽆资源可⽤,进程会进⼊睡眠状态直⾄资源可⽤。 当原创 2017-03-21 22:56:58 · 2417 阅读 · 0 评论 -
死锁产生的四个必要条件
死锁产生的四个必要条件(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。原创 2017-05-03 11:29:42 · 791 阅读 · 0 评论 -
Linux网络编程——epoll服务器编写
epoll服务器端代码原创 2017-06-14 17:35:02 · 470 阅读 · 0 评论