Linux
文章平均质量分 91
唯pc远方
这个作者很懒,什么都没留下…
展开
-
字符浏览器Elinks快捷键
字符浏览器Elinks快捷键 按Esc键在帮助菜单找到快捷键,翻译一下,备忘,冒号分割符主界面键z:终止连接a:添加到书签A:添加连接到书签s:书签管理器C:缓冲管理器K:cookie管理器Ctrl-K:读取cookieCtrl-Insert:复制到剪贴板=:文档信息D:下载管理器转载 2017-03-01 17:30:24 · 1137 阅读 · 0 评论 -
查找当前目录下包含特定字符串的特殊后缀名的文件
查找当前目录下包含特定字符串的特殊后缀名的文件如:在当前目录下查找包含 hello 字符串的 后缀名为 .c 的文件:find . -name "*.c" | xargs grep -H "hello"附:(转)1. Grep简介Grep (global search regular expression(RE) and print out转载 2015-09-24 12:16:27 · 1730 阅读 · 0 评论 -
线程池的介绍及简单实现
线程池的介绍及简单实现分类: 多线程2013-04-02 12:05 243人阅读 评论(0) 收藏 举报简介: 服务器程序利用线程技术响应客户请求已经司空见惯,可能您认为这样做效率已经很高,但您有没有想过优化一下使用线程的方法。该文章将向您介绍服务器程序如何利用线程池来优化性能并提供一个简单的线程池实现。转载 2015-09-20 08:44:14 · 380 阅读 · 0 评论 -
gdb调试命令及方法
一:列出文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,gdb就再次使用你给转载 2015-09-18 22:17:52 · 410 阅读 · 0 评论 -
可能发送内存段错误的情况
在此罗列一些可能导致段错误的地方,以及如何避免相应的错误 出现段错误时,有的很容易调查,但有的很难调查,比如在一个地方把内存写错,需要过一段时间另一个地方读这个内存时,才出错。这种是非常难定位的。因此在编写代码时一定要小心预防。 1 使用非法的指针,包括使用未经初始化及已经释放的指针(指针使用之前和释放之后置为NULL) 2转载 2015-09-18 22:05:18 · 815 阅读 · 0 评论 -
Linux下Fork与Exec使用
Linux下Fork与Exec使用 一、引言 对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小的代价,另一方面,又为程序员提供了一个简洁转载 2015-09-15 22:41:19 · 296 阅读 · 0 评论 -
[网络] TCP三次握手/四次挥手详解
相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. 而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题。因此在这里详细解释一下这两个过程。TCP三次握转载 2015-09-06 22:32:17 · 550 阅读 · 0 评论 -
实模式和保护模式区别及寻址方式
实模式和保护模式区别及寻址方式转载请注明出处:http://blog.csdn.net/rosetta64KB-4GB-64TB? 我记得大学的汇编课程、组成原理课里老师讲过实模式和保护模式的区别,在很多书本上也有谈及,无奈本人理解和感悟能力实在太差,在很长一段时间里都没真正的明白它们的内含,更别说为什么实模式下最大寻址空间为1MB?段的最大长度不超过64KB?而保护模式下为转载 2015-09-07 10:55:22 · 1313 阅读 · 0 评论 -
linux epoll 模型介绍及程序实例
linux epoll模型介绍和程序实例1. epoll是何方神圣? epoll是当前在Linux下开发大规模并发网络程序的热门人选,epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。 其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Con转载 2015-09-06 23:46:02 · 480 阅读 · 0 评论 -
使用 libevent 和 libev 提高网络应用性能——I/O模型演进变化史
构建现代的服务器应用程序需要以某种方法同时接收数百、数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作。 有许多解决方案,但事件驱动也被广泛应用到网络编程中。并大规模部署在高连接数高吞吐量的服务器程序中,如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低资源占用,增大服务接待能力,并提高网络传输效率转载 2015-09-06 23:47:55 · 549 阅读 · 0 评论 -
临界区、互斥、信号量、事件区别
四种进程或线程同步互斥的控制方法 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。 临界区(Critical Section)转载 2015-09-05 00:57:40 · 551 阅读 · 0 评论 -
网络IO模型
最基本的网络IO1 文件描述符-socket(int domain, int type, int protocol);-bind(int sockfd, struct sockaddr *my_addr, int addrlen); 2 服务端-listen(int sockfd, int backlog); -accept(int sockfd, void *addr,转载 2015-09-09 11:12:28 · 356 阅读 · 0 评论 -
线程池的原理和连接池的原理
一、 线程池的原理: 线程池,究竟是怎么一回事?其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客户端有一个新请求时,就会唤醒线程池中的某一个睡眠线程,让它来处理客户端的这个请求,当处理完这个请求后,线程又处于睡眠状态。可能你也许会问:为什么要搞得这么麻烦,如果每当客户端有新的请求时,我就创建一个新的线程转载 2015-09-08 20:58:54 · 4671 阅读 · 0 评论 -
使用事件驱动模型实现高效稳定的网络服务器程序
使用事件驱动模型实现高效稳定的网络服务器程序几种网络服务器模型的介绍与比较围绕如何构建一个高效稳定的网络服务器程序,本文从一个最简单的服务器模型开始,依次介绍了使用多线程的服务器模型、使用非阻塞接口的服务器模型、利用select()接口实现的基于事件驱动的服务器模型,和使用libev事件驱动库的服务器模型。通过比较各个模型,得出事件驱动模型更适合构建高效稳定的网络服务器转载 2015-09-08 21:05:59 · 597 阅读 · 0 评论 -
dd命令使用详解
dd命令使用详解1.命令简介 dd 的主要选项:指定数字的地方若以下列字符结尾乘以相应的数字:b=512, c=1, k=1024, w=2, xm=number mif=file #输入文件名,缺省为标准输入。 of=file #输出文件名,缺省为标准输出。 ibs=bytes #一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。 obs转载 2016-03-31 17:08:46 · 524 阅读 · 0 评论 -
chkconfig命令详解
chkconfig(check config)命令详解功能说明:chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。 语 法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level ][系统服务][转载 2016-03-31 17:31:59 · 2089 阅读 · 0 评论 -
进程间通讯方式以及各个方式的优缺点
进程间通讯方式以及各个方式的优缺点2014-7-19阅读99 评论0进程通信的含义进程是转入内存并准备执行的程序,每个程序都有私有的虚拟地址空间,由代码,数据以及它可利用的系统资源(如文件,管道)组成.多进程/多线程是windows操作系统的一个基本特征.Linux系统一般都统称为进程.由于不同的进程运行在各自不同的内存空间中,其中一个进程对于变量的修改另一方是转载 2015-05-04 20:46:23 · 16674 阅读 · 1 评论 -
Linux下date命令,格式化输出,时间设置
date命令的帮助信息 [root@localhost source]# date --help用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]以给定的格式显示当前时间,或是设置系统日期。 -d,--date=字符串 显示指定字符串所描述的时间,转载 2016-12-12 19:24:48 · 425 阅读 · 0 评论 -
linux 系统监控、诊断工具之 lsof 用法简介
目录:[ -]1、lsof 简介2、lsof 常用用法2.1 监控打开的文件、设备2.2 监控文件系统2.3 监控进程2.4 监控网络3、更多使用技巧3.1 监控用戶3.2 监控应用程序4、命令模式技巧4.1 组合逻辑查询条件4.2 lsof 命令的重复执行模式:5、最后的技巧6、refer: 1、lsof 简介转载 2016-12-12 10:13:59 · 651 阅读 · 1 评论 -
nc 常用命令
nc 常用命令nc(NetCat),在网络工具中有”瑞士军刀”的美誉,它短小精悍,功能强大,下面分享一些我平时经常用到的功能,更多的功能请google之。1.基本参数想要连接到某处: nc [-options] hostname port[s] [ports] …绑定端口等待连接: nc -l -p port [-options]转载 2016-08-08 13:24:57 · 914 阅读 · 0 评论 -
Linux下制作raid1
Linux下制作raid1raid1是linux服务器最常用的一种硬盘冗余备份的方案,它能在硬盘损坏的情况下保证硬盘数据内的安全。需要至少两块硬盘,最好是完全相同的两块硬盘,所创建的若磁盘中有谁损坏,则备用盘自动替补上去。一、搭建Linux raid1环境1. 准备好要制作raid1的硬盘,至少两块,最好是两块同型号同容量的硬盘。2.转载 2016-04-11 16:45:18 · 1957 阅读 · 0 评论 -
Linux 之Cut命令详解
Linux 之Cut命令详解cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。(1)其语法格式为:cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]使用说明cut 命令从文件的每一行剪切字节、字符和字转载 2016-04-09 14:52:27 · 316 阅读 · 0 评论 -
Linux下面新增硬盘
Linux下面新增硬盘1 把硬盘接上2 重启系统,如果系统不能识别还要设置一下bios3 用fdisk查看 fdisk -l,可以看到多了一块硬盘,并且告诉我们没有分区信息4 用fdisk 进行分区,如 fdisk /dev/sdb 5 格式化新分区 如mkfs.ext3fs ***, mkfs.reiserfs ***6 mount7如果想要在转载 2016-03-25 10:04:54 · 329 阅读 · 0 评论 -
Linux添加/删除用户和用户组
Linux添加/删除用户和用户组本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数。1、建用户:adduser phpq //新建phpq用户passwd phpq //给phpq用户设置密码2、建工作组groupadd test转载 2016-03-24 20:27:29 · 411 阅读 · 0 评论 -
linux top命令详解
linux top命令详解top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleep转载 2016-03-10 10:19:08 · 233 阅读 · 0 评论 -
CentOS 6.0 启动时出现fstab错误时的修复
CentOS 6.0 启动时出现fstab错误时的修复 CentOS启动时,出现了fstab 中 /dev/loop1 设备的读取失败,结果,呵呵,系统进入了recovery 模式,输入root密码之后,想修改fstab,结果发现不行,后来找了半天,发现可以使用:#mount -o remount,rw /之后,fstab就可以修改了。转载 2016-04-01 19:45:33 · 574 阅读 · 0 评论 -
Linux磁盘修复e2fsck命令
Linux磁盘修复e2fsck命令前天清明节,竟然去加班,原因是客户那里有一台服务器不能提供服务,经过排查是突然断电后可能产生了磁盘坏道导致,所以使用e2fsck命令进行了磁盘修复。 linux下磁盘检查修复命令e2fsck -a: 检查 partition,如发现问题会自动修复。-b: 设定 superblock 位置。 www.2cto.com -B si转载 2016-04-01 18:09:21 · 16413 阅读 · 0 评论 -
/etc/fstab文件内容
/etc/fstab文件内容前言,用CentOS开机前面会看到进入系统后显示/etc/fstab,觉得很有意思,就上网上搜搜。 一: /etc/fstab是什么?/etc/fstab是用来存放文件系统的静态信息的文件,当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录 二: 字段含义比如,我的/e转载 2016-04-01 17:47:42 · 2209 阅读 · 0 评论 -
CentOS 6.3下配置LVM(逻辑卷管理)
CentOS 6.3下配置LVM(逻辑卷管理)一、简介LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机转载 2016-04-01 11:53:43 · 353 阅读 · 0 评论 -
select、poll、epoll之间的区别总结[整理]
select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用转载 2015-09-08 20:55:14 · 304 阅读 · 0 评论 -
epoll LT和ET区别
原帖:http://www.vimer.cn/2009/10/epoll%E5%B7%A5%E4%BD%9C%E6%A8%A1%E5%BC%8F%E8%AF%A6%E8%A7%A3.htmlselect/epoll的区别select的特点:select 选择句柄的时候,是遍历所有句柄,也就是说句柄有事件响应时,select需要遍历所有句柄才能获取到哪些句柄有事件通知,因此效率是非常低。但是转载 2015-09-09 11:10:22 · 2462 阅读 · 0 评论 -
UNIX网络编程——I/O复用:select和poll函数
UNIX网络编程——I/O复用:select和poll函数2013-07-26 00:38:00 发表评论我们看到TCP客户同时处理两个输入:标准输入和TCP套接字。我们遇到的问题是就在客户阻塞于(标准输入上)fgets调用,服务器进程会被杀死。服务器TCP虽然正确的给客户TCP发送了一个FIN,但是既然客户进程正阻塞于从标准输入读入的过程,它将看不到这个EOF,直到从套接字读时为止(可能额已过了转载 2015-05-07 16:48:01 · 394 阅读 · 0 评论 -
GDT(全局描述符表)和LDT(局部描述符表)
Home > GDT(全局描述符表)和LDT(局部描述符表)每个程序都有自己的LDT,但是同一台计算机上的所有程序共享一个GDT。LDT描述局部于每个程序的段,包括其代码、数据、堆栈等。GDT描述系统段,包括操作系统本身。①全局描述符表GDT(Global Descriptor Table)在整个系统中,全局描述符表GDT只有一张(一个处理器对应一个GDT),GDT转载 2015-08-16 20:54:02 · 10062 阅读 · 0 评论 -
kmalloc/kfree,vmalloc/vfree函数用法和区别
1.kmalloc1>kmalloc内存分配和malloc相似,除非被阻塞否则他执行的速度非常快,而且不对获得空间清零.tiger说明:在用kmalloc申请函数后,要对起清零用memset()函数对申请的内存进行清零。> 2>kamlloc函数原型:#includeVoid *kmalloc(size_t size, int flags);(1)第一个参数是要转载 2015-08-16 10:39:34 · 429 阅读 · 0 评论 -
服务器编程入门(7)I/O复用
问题聚焦: 前篇提到了I/O处理单元的四种I/O模型。 本篇详细介绍实现这些I/O模型所用到的相关技术。 核心思想:I/O复用使用情景:客户端程序要同时处理多个socket客户端程序要同时处理用户输入和网络连接TCP服务器要同时处理监听socket和连接socket,这是使用最多的场合服务器要同时可处理TCP请求和UDP请求服务器要同时转载 2015-08-29 20:56:06 · 323 阅读 · 0 评论 -
select,poll,epoll区别
select的本质是采用32个整数的32位,即32*32= 1024来标识,fd值为1-1024。当fd的值超过1024限制时,就必须修改FD_SETSIZE的大小。这个时候就可以标识32*max值范围的fd。对于单进程多线程,每个线程处理多个fd的情况,select是不适合的。1.所有的线程均是从1-32*max进行扫描,每个线程处理的均是一段fd值,这样做有点浪费2.1转载 2015-08-27 23:51:41 · 282 阅读 · 0 评论 -
pthread_create函数的详细讲解(包括向线程函数传递参数详解)
pthread_create是UNIX环境创建线程函数头文件 #include函数声明 int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);返回值 若成功则返转载 2015-08-27 23:21:42 · 692 阅读 · 0 评论 -
孤儿进程与僵尸进程[总结]
1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。2、基本概念 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的转载 2015-08-02 17:26:05 · 220 阅读 · 0 评论 -
linux system函数使用详解
相关的函数fork,execve,waitpid,popen表头文件#i nclude定义函数int system(const char * string);函数说明system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期间SIGCHL转载 2015-08-28 18:41:20 · 2931 阅读 · 0 评论 -
strstr函数的自己实现
请用标准C语言实现下列标准库函数,设计中不得使用其他库函数。char *strstr(char *str1,char *str2);在字符串str1中,寻找字串str2,若找到返回找到的位置,否则返回NULL。[cpp] view plaincopy#include #include using namespace s转载 2015-08-27 23:26:44 · 314 阅读 · 0 评论