自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 ulimit

1、说明ulimit 命令。ulimit用于shell启动进程所占用的资源.说明2、类别shell内建命令3,、语法格式:ulimit [-acdfHlmnpsStvw] [size]4、参数-H 设置硬资源限制.-S 设置软资源限制.-a 显示当前所有的资源限制.-c size:设置core文件的最大值.单位:blocks

2015-03-31 12:08:57 751

转载 使用ulimit 命令可以分别查看软限制和硬限制

在Linux的系统中对于进程(Process)会有一些限制,这就所谓的limit,在实际应用中最常见的就是对打开文件(Open Files)的限制,在配置web 服务如nginx时就会用到。在linux中这些限制是分为软限制(soft limit)和硬限制(hard limit)的。他们的区别就是软限制可以在程序的进程中自行改变(突破限制),而硬限制则不行(除非程序进程有root权限)

2015-03-31 11:21:05 3602

转载 进程可打开的最大文件数和目录下的最大文件数

在unix系统下,每个进程能打开的文件数由核心参数NOFILES设定。这个值一般是1024。但是许多shell使用了标准输入、标准输出、标准错误(描述符1、2、3),所以单个进程实际能打开的文件数为1024-3=1021个。如果没有确实的必要,最好不要去修改这个参数。单个目录下的文件数由核心参数MAX_INODE设定,一般最大值是64000。但实际上一个目录下的文件数达到远低于上限的一

2015-03-31 11:19:29 4402

转载 Centos版Linux 一些常用操作命令 收集

1、文件处理命令:ls功能描述:显示目录文件命令英文原意:list命令所在路径:/bin/ls执行权限:所有用户语法:  ls  选项[-ald]  [文件或目录]        -a    显示所有文件,包括隐藏文件-l  详细信息显示-d  查看目录属性        $ ls –a > dir.txt ← 将ls –a命

2015-03-30 20:54:00 462

转载 字节流与字符流的区别详解

字节流与字符流先来看一下流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。字节流与字符流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字

2015-03-30 20:51:36 394

转载 Linux系统日志管理(redhat)

一、Linux系统日志作用日志对任何一个OS、应用软件、服务进程而言都是必不可少的模块。日志文件对于系统和网络安全起到中大作用,同时具有审计、跟踪、排错功能。可以通过日志文件监测系统与网络安全隐患,以及监测黑客入侵攻击路线。二、日志分类1. 连接时间的日志连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这两个文件无法直接cat

2015-03-30 18:25:45 6410

转载 getmsg, getpmsg - receive next message from a STREAMS file (STREAMS)

NAMEgetmsg, getpmsg - receive next message from a STREAMS file (STREAMS)SYNOPSIS[XSR]  #include stropts.h>int getmsg(int fildes, struct strbuf *restrict ctlptr,       struct strbuf *

2015-03-30 15:11:52 516

转载 bat中echo 和 @echo有何区别?

他们的区别只是那个 @@echo 运行时隐藏echo 这命令,echo 运行时显示echo 这命令@ 的功能就是隐藏运行后面的命令来源:http://zhidao.baidu.com/question/493138714.html?qbl=relate_question_0&word=%40echo&optimi=4至于.bat文件(批处理文

2015-03-30 15:07:48 2969

转载 linux的echo命令

linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用ec

2015-03-30 15:04:05 433

转载 用户空间与内核的交互---IOCTL

在procfs一节中我们提到过ioctl,它的作用编写过驱动和从事过网络编程的人,一定不会陌生. 就是由于它架构的思路的精妙之处,屏蔽了大量抽象的东西.这里我们就分析下它的使用和架构,当然这里不会分析ioctl系统调用的实现.这里参考资料有《linux设备驱动程序》,《深入理解linux网络技术内幕》 ,当然也少不了网上好的文章和帖子.       或许我们最熟悉就是文件的操作,文件有re

2015-03-30 15:02:40 1420

转载 ioctl

NAMEioctl - control a STREAMS device (STREAMS)SYNOPSIS[XSR]  #include stropts.h>int ioctl(int fildes, int request, ... /* arg */); DESCRIPTIONThe ioctl() function shall perfo

2015-03-30 14:56:29 440

转载 设备控制接口(ioctl 函数)

【转】Linux设备控制接口序言设备驱动程序的一个基本功能就是管理和控制设备,同时为用户应用程序提供管理和控制设备的接口。我们前面的“Hello World”驱动程序已经可以提供读写功能了,在这里我们将扩展我们的驱动以支持设备控制接口,在Linux中这个接口是通过ioctl函数来实现的。设备控制接口(ioctl 函数)回想一下我们在字符设备驱动中介绍的struct file_o

2015-03-30 14:54:22 551

转载 回车和换行

换行符‘\n’和回车符‘\r’顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符  '\n' 10 换行(newline)'\r' 13 回车(return)也可以表示为'\x0a'和'\x0d'.(16进制)在windows系统下,回车换行符号是"\r\n".但是在Linux等系统下是没有"\r"

2015-03-30 14:49:59 349

转载 回车和换行

我一直没有搞得很清楚,回车和换行符有啥区别。记得大一时,C语言老师就说过回车、换行,但都没说得那么细。前两天,看写两句Perl代码时,忽然想起区别一下回车和换行(\r和\n)。现在理解清楚了,记个笔记吧。符号    ASCII码      意义\n        10        换行NL\r        13        回车CR回车 \r 本义是光标重新回到本

2015-03-30 14:45:42 522

转载 linux grep命令

linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep [options]3.主要参数[options]主要参数:-c:只输出匹配行的计数

2015-03-30 14:28:50 358

转载 管道命令

linux shell 管道命令(pipe)使用及与shell重定向区别看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了。这次我们看下管道命令了。shell管道,可以说用法就简单多了。 管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信

2015-03-30 14:23:43 600

转载 ctrl-c,ctrl-z,ctrl-d区别

linux下:  ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序。  ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程。  ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。  ctrl-/ 发送 SIGQUIT 信号给前台进程组中的所有进程,终止前台进程并生成 core 文件。  

2015-03-30 14:05:28 689

转载 EOF说明

C语言标准库中的EOF 是宏常数,其定义是:#define EOF     (-1)程序中凡写EOF处,将用 (-1) 替代,替代后再编译。while((c=getchar())!=EOF)  就是  while((c=getchar())!=(-1))------当读语句(例如 fscanf) ,读到文件尾时,就会获得EOF,EOF又叫文件结束符。读语句(例如getcha

2015-03-30 14:02:09 741

转载 linux驱动中的ENODEV

ENODEV 应该是默认尚未分配到具体设备的意思。如果程序有一个打开的设备句柄,在当前结构里,我们只要把它赋值为空,就像它已经消失了。对于每一次设备读写等其它函数操作,我们都要检查结构是否存在。如果不存在,就表明设备已经消失,并返回一个-ENODEV错误给用户程序。来源:http://zhidao.baidu.com/link?u

2015-03-28 19:29:13 5485

转载 IO中同步、异步与阻塞、非阻塞的区别

一、同步与异步同步/异步, 它们是消息的通知机制1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数

2015-03-28 16:36:10 360

转载 Linux内核的ioctl函数学习

我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl。ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达

2015-03-26 21:54:17 423

转载 out-of-band data 带外数据

带外数据(out—of—band   data),有时也称为加速数据(expedited   data),     是指连接双方中的一方发生重要事情,想要迅速地通知对方。     这种通知在已经排队等待发送的任何“普通”(有时称为“带内”)数据之前发送。     带外数据设计为比普通数据有更高的优先级。     带外数据是映射到现有的连接中的,而不是在客户机和服务器间再用一个连接。

2015-03-26 21:28:19 2494

转载 什么是带外数据

什么是带外数据?带外数据是什么意思?许多传输层都支持带外数据(Out-Of-Band data),有时候也称为快速数据(ExpeditedData).之所以有带外数据的概念,是因为有时候在一个网络连接的终端想“快速”的告诉网络另一边的终端一些信息.这个“快速”的意思是我们的“提示”信息会在正常的网络数据(有时候称为带内数据In-Band data)之前到达网络另一边的终端.这说明,带外数据拥有

2015-03-26 21:19:02 7871

转载 重复数据删除In-band和Out-of-band的区别

听说基于硬件的重复数据删除产品中有In-band和Out-of-band两种功能,请问这两种功能的区别,哪种更好了?  首先,让我讲讲基于硬件的重复数据删除产品的好处:基于硬件的重复数据删除产品能减轻与基于软件的重复数据删除产品相关的处理负担。重复数据删除功能还被融合到其它数据保护硬件中,如备份平台、虚拟磁带库(VTL)系统甚至通用存储系统像网络附加存储(NAS)等。通常这种方法并不旨在缩小备

2015-03-26 21:11:52 964

转载 "In-Band"和"Out-of-Band"虚拟化区别

导读:当我们实施一个In-Band虚拟储存器网络的时候,数据和控制在相同的路径上的流动。 抽象层存在于数据路径中,而且存储在域管理器的控制之下可以被设置为存储池。 大体上,In-Band解决方案实施起来是比较简单.....    当我们实施一个In-Band虚拟储存器网络的时候,数据和控制在相同的路径上的流动。 抽象层存在于数据路径中,而且存储在域管理器的控制之下可以被设置为存储池。 大体

2015-03-26 21:00:20 2930

转载 linux和unix

linux和unix有什么区别啊?unix开源么?真正意义上的Unix系统已经不存在了现在所谓的Unix或Unix-Like系统都是继承了一部分的Unix(有的继承了部分代码,有的则只集成了一些特点而没有继承代码)Linux是荷兰学生Linus在1991年的时候,参考Unix的结构特点(只是结构特点,没有参考哪怕一行的代码)自己写出的一个操作系统。属于最典型的Unix-Like系统(“

2015-03-26 20:08:33 419

转载 wait和waitpid详解

wait的函数原型是:  #include#include pid_t wait(int *status)        进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一

2015-03-26 19:03:46 477

转载 truss 命令

truss 命令用途跟踪进程的系统调用、动态装入的用户级函数调用、接收的信号和造成的机器故障。语法truss [ -f] [ -c] [ -a] [ -l ] [ -d ] [ -D ] [ -e] [ -i] [ { -t | -x} [!] Syscall [...] ] [ -s [!] Signal [...] ] [ { -m }[!] Fault [...]] [ {

2015-03-26 18:42:21 641

转载 对于linux中>和>>的说明

>:是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节);>>:这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。即>: 会重写文件,如果文件里面有内容会

2015-03-26 18:29:54 1088

转载 强制性锁和建议性锁

首先,建议性锁和强制性锁并不是真正存在的锁,而是一种能对诸如记录锁、文件锁效果产生影响的两种机制。1.建议性锁机制是这样规定的:每个使用文件的进程都要主动检查该文件是否有锁存在,当然都是通过具体锁的API,比如fctl记录锁F_GETTLK来主动检查是否有锁存在。如果有锁存在并被排斥,那么就主动保证不再进行接下来的IO操作。如果每一个进程都主动进行检查,并主动保证,那么就说这些进程都以一致

2015-03-26 16:57:08 1057

转载 文件I/O_lseek函数

每个打开的文件都有一个与其相关联的“当前文件偏移量”。通常,读、写操作都从当前文件偏移量处开始,并使偏移量增加所读写的字节数。按系统默认的情况,当打开一个文件时,除非指定O_APPEND选项,否则该偏移量被设置为0。可以调用lseek显式地为一个打开的文件设置起偏移量。#include off_t lseek(int filedes, off_t offset, int whence);

2015-03-25 19:47:59 735

转载 Linux编程基础——后台进程

后台启动默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作。对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'&'实现这个目的。    tianfang > run &    [1] 11319    tianfang >进程切换到后台的时候,我们把它称为job。切换到后台时会输出相关job信息,以前

2015-03-25 19:20:53 417

转载 关闭终端后,后台作业退出的分析

先把结论写在上面:-- 内核驱动发现终端(或伪终端)关闭,给对应终端的控制进程(bash)发 SIGHUP -- bash收到SIGHUP后,会给各个作业(包括前后台)发送SIGHUP,然后自己退出-- 前后台的各个任务,收到来自 bash 的SIGHUP,退出(如果程序会处理SIGHUP,就不会退出)PS: 这里所谓终端关闭就是指内核感知不到终端了,远程登录时的网络断开、

2015-03-25 18:34:46 472

转载 SIGHUP信号与控制终端

SIGHUP信号与控制终端UNIX中进程组织结构为 session (会话)包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程。一个session可能会有一个session首进程,而一个session首进程可能会有一个控制终端。一个进程组可能会有一个进程组首进程。进程组首进程的进程ID与该进程组ID相等。这儿是可能会有,在一定情况之下是没有的。与终端交互的进程是前台进

2015-03-25 18:33:03 353

转载 Linux 进程组,作业,会话的理解

1. 进程组每个进程除了有一个进程ID之外,还属于一个进程组。进程组是一个或多个进程的集合。通常,它们与同一作业相关联,可以接收来自同一终端的各种信号。每个进程组有一个唯一的进程组ID。每个进程组都可以有一个组长进程。组长进程的标识是,其进程组ID等于其进程ID。组长进程可以创建一个进程组,创建该组中的进程,然后终止。只要在某个进程组中一个进程存在,则该进程组就存在,这与其组长进程

2015-03-25 18:29:38 365

转载 Linux 串行终端,虚拟终端,伪终端,控制终端,控制台终端的理解

终端:输入和输出设备(键盘 + 显示器)。串行终端:与机器的串口对应,每一个串口对应一个串行终端,串口对应的是物理终端。虚拟终端:一台PC只有一套键盘和显示器,也就只有一套终端设备,但是可以通过Ctrl + Alt + F1 ~ Ctrl + Alt + F6切换到字符终端,相当于有6套虚拟的终端设备,它们共用同一套物理终端设备/dev/tty1 ~ /dev/tty6。伪

2015-03-25 18:23:35 627

转载 线程安全和可重入

线程安全:       线程安全函数:在C语言中局部变量是在栈中分配的,任何未使用静态数据或其他共享资源的函数都是线程安全的。                     使用全局变量的函数是非线程安全的。                     使用静态数据或其他共享资源的函数,必须通过加锁的方式来使函数实现线程安全。       线程安全的(Thread-Safe): 

2015-03-25 16:54:09 355

转载 POWER虚拟化

IBM 动态分区迁移(Live Partition Mobility)技术-概述:http://www.ibm.com/developerworks/cn/aix/redbooks/live-mobility/虚拟机管理程序、虚拟化和云: 深入剖析 PowerVM 虚拟机管理程序:http://www.ibm.com/developerworks/cn/clou

2015-03-24 13:00:17 468

原创 mmap说明

如果同时指定了MAP_FIXED标志并且将起始地址start设置为0,则mmap调用的结果会是什么?    答:在sys_mmap系统调用中并没有看到对这种情况的排斥,可以暂时先理解成不同的架构对应不同的情况,这种情况是否允许在各个架构上的实现是不同的,而sys_mmap作为一个和平台无关的系统调用这里并不会对这种情况进行排斥;而在实际的具体的平台的操作时,比如x86下,当你的addr没有

2015-03-24 12:44:59 665

转载 磁盘缓冲区和内存缓冲区

一般编程所说的缓冲区指的是内存缓冲区,这是程序所设置的一块内存空间,用来暂存从其他设备读入的数据或者是即将写入其他设备的数据;    而磁盘缓冲区有两种:    意是上面说的内存缓冲区,只是它是专门为读取或写入磁盘而设置的,因此可以简称为磁盘缓冲区,这个的例子是很多下载软件比如迅雷种都有的磁盘缓存设置,即先将数据下载到内存中缓存起来,达到一定数量后再写到磁盘里,从而减少了读写磁盘的次数,以

2015-03-24 11:16:49 5019

空空如也

空空如也

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

TA关注的人

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