- 博客(45)
- 收藏
- 关注
原创 shell是一种程序
shell是一种程序;shell扫描命令行,判断要执行的程序名称以及要传该该程序的参数;可能会执行一些特殊字符的替换;如*、?、[...]等;、>、>>、|等; 正则表达式.:匹配任何字符;工具ed工具:常用命令:ed filename;1,$p //显示所有行;1,$s/oid/OID/g //用OID替换oid;/ ... /
2010-05-22 22:41:00
1801
原创 使用 lsof 查找打开的文件
通过查看打开的文件,了解更多关于系统的信息。了解应用程序打开了哪些文件或者哪个应用程序打开了特定的文件,作为系统管理员,这将使得您能够作出更好的决策。例如,您不应该卸载具有打开文件的文件系统。使用 lsof,您可以检查打开的文件,并根据需要在卸载之前中止相应的进程。同样地,如果您发现了一个未知的文件,那么可以找出到底是哪个应用程序打开了这个文件。在 UNIX® 环境中,文件无处不在,这便产
2010-05-21 18:41:00
580
转载 Linux之线程同步篇
进行多线程编程,最头疼的就是那些共享的数据。因为你无法知道哪个线程会在哪个时候对它进行操作,你也无法得知那个线程会先运行,哪个线程会后运行。下面介绍一些技术,通过他们,你会合理安排你的线程之间对资源的竞争。l 互斥体Mutexl 信号灯Semophorel 条件变量Conditions先说一下互斥量。什么时候会用上互斥量了?比如你
2010-04-22 14:08:00
569
转载 一个Linux下C线程池的实现
什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。 下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker结构就是一个任务)。 pool_init()
2010-04-22 14:07:00
616
转载 Linux “线程”
1.Linux“线程”进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型。Linux是一种“多进程单线程”的操作系统。Linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。大家知道,进程是资源分配的单位,同一进程中的多个线程共享该进程的资源(如作为共享内存的全局变量)。Linux中所谓的“线程”只是在被创建时clone了父进程的资源,因此cl
2010-04-22 11:24:00
563
转载 Unix/Linux IPC及线程间通信总结
一、互斥与同步1.互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。2.同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源.3.同步是一种更为复杂的互斥,而互斥是一种
2010-04-22 10:59:00
803
转载 利用net-snmp的pass来动态管理节点
以前只知道在snmpd.conf里面配置exec和extend可以用脚本(或者可执行文件)来弹性的管理mib节点。也一直承受着他们所带来的麻烦,也就是get或者walk所需要的值的时候,诸多结果信息会通过附加的叶结点来返回,造成的后果是和很多标准的snmp管理软件不兼容。现在终于有了完美的解决方案,看man snmpd.conf的PASS-THROUGH CONTROL一节,里面说明了用pass
2010-04-16 16:05:00
3432
1
转载 C语言中可变参数的用法
C语言中可变参数的用法 Copyright by kevintz 我们在C语言编程中会遇到一些参数个数可变的函数,例如printf() 这个函数,它的定义是这样的:
2010-04-15 19:01:00
551
转载 局部变量,全局变量?探寻程序上面的栈(STACK)空间的最大值
近日看到有一些与程序、内存的的资料,比较有意思。能够体现全局数据与局部变量的内存关系,我在Cygwin上面跑出来的结果是STACK 的空间只有2M,用完后程序就停止执行了,源代码如下:filename : DepleteStackSize.c #include static long STACK_BLOCK_HEADER; void depleteStackSpace()
2010-04-12 10:03:00
765
转载 linux view /proc/cpuinfo
一些操作系统的最新版本已经更新了 /proc/cpuinfo 文件,以支持多路平台。如果您的系统中的 /proc/cpuinfo 文件能够正确地反映出处理器信息,那么就不需要执行上述步骤。反之,可采用本文中的信息进行解释。/proc/cpuinfo 文件包含系统上每个处理器的数据段落。/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程(HT)技术检查:processor, v
2010-04-01 09:44:00
728
转载 PROC系列之---关于CPU
CPU整体性能监控工具Linux中常用的监控CPU整体性能的工具有: mpstat: mpstat 不但能查看所有CPU的平均信息,还能查看指定CPU的信息。 vmstat:只能查看所有CPU的平均信息;查看cpu队列信息; iostat: 只能查看所有CPU的平均信息。 sar: 与mpstat 一样,不但能查看CPU的平均信息,还能查看指定CPU的信息。 top:显示的信息同ps接近
2010-04-01 09:21:00
708
转载 PROC系列之---/proc/loadavg、/proc/pid/stat、/proc/pid/statm
该文件中的所有值都是从系统启动开始累计到当前时刻。该文件只给出了所有CPU的集合信息,不能该出每个CPU的信息。[root@localhost ~]# cat /proc/loadavg 4.61 4.36 4.15 9/84 5662每个值的含义为:参数 解释lavg_1 (4.61) 1-分钟平均负载lavg_5 (4.36) 5-分钟平均负载lavg_15(4.15) 15-分钟平均
2010-04-01 09:19:00
620
转载 snmpconf 命令手册
snmpconf 命令手册 NAME snmpconf - creates and modifies SNMP configuration files# 注释 :snmpconf 是一个用于建立和修改 SNMP 配置文件的命令SYNOPSIS snmpconf [OPTIONS] [fileToCreat
2010-03-27 11:27:00
5490
转载 nginx 做为反向代理实现负载均衡的例子
nginx作为反向代理实现负载均衡的例子: 转载请注明原文链接:http://blog.csdn.net/omohe/archive/2009/07/09/4335765.aspx版本:v1.0 作者:OMO 最后修改时间:2009.07.091)环境: a. 我们本地是Windows系统,然后使用VirutalBox安装一个虚拟的Linux系统。 在本地的W
2010-03-25 21:34:00
612
转载 nginx windows安装入门
偶发布该文章大半年了,有很多朋友看过这篇安装向导,今天偶要更新下,毕竟Nginx 官方正式发布windows 版本的了。----2009年6月22日,这天Nginx for windows 0.7.61发布了!首先,先到这儿下载官方的nginx for Windows 版本,并到PHP 官方下载php;第二,解压下载好的nginx压缩包(假如放到到了D:/server/server),然后
2010-03-25 19:56:00
1069
转载 SNMP CPU memory OID
Here is a sample structure of an OIDIso (1).org(3).dod(6).internet(1).private(4).transition(868).products(2).chassis(4).card(1).slotCps(2).cpsSlotSummary(1).cpsModuleTable(1).cpsModuleEntry(1).c
2010-03-25 14:54:00
2951
1
转载 2010年十大关键IT技术概览:云计算最受关注
北京时间3月24日消息,据国外媒体报道,据国外网站CIO.com今日发布的最新调查结果显示,IT专业人士对分析、云和协作技术的兴趣最为浓厚,而开源和ERP等技术则逐步淡出他们的视线。2010年最受关注的十大关键技术领域是:1、云计算:在405位接受问卷调查的IT专业人士中,有57%的人将云计算列入分析范围或正在试用这项技术,但是到目前为止,只有15%的人已经部署应用了云计算技术。2、业
2010-03-24 12:57:00
583
转载 snmptrap
Most SNMP traffic is sent from a management station to a network entity, in order to find out about that system or adjust its configuration in some way. Notifications (Traps and Informs) can be used b
2010-03-23 16:51:00
4162
转载 使用net-snmp API编程
在一个项目中使用了Redback SMS10000 的接入服务器,作为附加要求,需要做一个snmp的接口程序,目的是起发送一个subscriber reauth 的 snmp 包给接入服务器; 由于snmp的例程相对较少,所以在此截选程序中的snmp 相关部分以后,做一个注脚,记录下来。 程序使用了net-snmp 的API,所以系统要预先安装net-snmp; 编译时需要使用带入netsn
2010-03-23 16:49:00
3116
转载 Linux命令:Kill
语法格式kill [-s 信号][程序] 或 kill [-l 信号]使用说明kill 命令发送一个信号(缺省,SIGTERM 信号)到一个正运行的程序。缺省操作一般是停止进程。如果想停止一个进程,在 ProcessID 变量中指定进程标识符(PID)。这个 shell 报告每个在后台运行的进程的 PID(除非在一个管道上启动多个进程,这个种情况下,shell 报告最后一个进程号)。还
2010-03-20 11:26:00
1730
转载 Linux常用配置文件
配置文件一览表 文件位置及名称,作用 /etc/rc.d/rc.sysinit 系统启动时的公用服务配置 /etc/rc.d/rc.local 系统启动时的本地服务配置 /etc/bashrc、/etc/profile bash shell的公用配置 /home/username/.bashrc 各用户私人bash shell配置 /etc/securetty
2010-03-18 23:04:00
1046
转载 net-snmp的编译
对net-snmp5.2.4静态交叉编译(arm-linux-gcc)后得到的各文件大小如下:Snmpd 735kSnmpset, snmpget, snmptrap, snmpusm 分别约为360k。总计约2.2M。5.2.4版本默认为静态编译,使用libtools的makefile工具编译。后要修改成动态编译,对libtools不熟,没有成功。后来发现5.4.1版本同时
2010-03-17 14:14:00
3972
转载 在Linux服务器上如何开启安全的SNMP代理
在各种Linux分发版中,大多数都已经默认集成了snmpd,比如在suse10中,你可以这样开启snmpd: suse10:~ # /etc/init.d/snmpd start 如果没有默认安装,你要做的就是自己来编译snmpd,按照下边的步骤,非常简单。 编译和安装 对于Linux平台,我们推荐使用Net-SNMP,它实现了标准的SNMP协议,并且包括了代理程序以及各种SN
2010-03-17 09:03:00
1646
转载 在Windows环境下编译NET-SNMP的具体实现步骤
一、准备工作 1、安装Microsoft Visual Studio 2005,其中Visual C++为必选组件 2、安装Active Perl解析器至C:/usr目录下 该步骤必须执行,否则在后期执行配置操作时,会提示没有安装perl解析器的错误,从而无法自动配置。二、编译NET-SNMP源文件(基于readme.win32中的Microsoft Visual C++ - Works
2010-03-09 10:21:00
2030
转载 移殖net-snmp和应用net-snmp开发详解
@1. 获取net-snmp开发包 可以用开源上http://www.net-snmp.org/download.html获取自己所需要的各种版本。 @2. 分析需求,进行合理配置 比如要不要将其编译成动态库,还是静态库;要不要某些库;等等。可以通过在其目录下执行./configure --help即可知道她有配置的选项。比如“—host=xxx”
2010-03-09 10:09:00
2883
原创 用NET-SNMP软件包开发简单客户端代理
用NET-SNMP软件包开发简单客户端代理写在前面的话:对于net-snmp我也是一个初学者,开始学习时也碰到了很多低级的问题。在很多论坛上(事实上比较少^_^, 建议大家直接去sourcefoge社区看关于net-snmp的mail-list),都没有比较初级入门的文章,本着开源学习的精神,把自己的一点收获,共享给大家。通过参考一些前辈的文章和帮助文档,本文实现了一个简单的mib,并编写
2010-03-05 09:06:00
2200
2
转载 cygwin/gcc和MinGW
cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别,在实际工作中如何选择这两种编译器。 cygwin/gcc完全可以和在linux下的gcc化做等号,这个可以从boost库的划分中可以看出来端倪,cygwin下的gcc和linux下的gcc完全使用的是相同的Toolsets。所以完全可以和linux一起同步更新gcc版本,而不用担心问题,并且在cygwin/
2010-03-05 08:37:00
638
转载 SMUX Enterprise OID readfds
SMUX To turn off SMUX when you dont have the options of recompiling from sourceto disable SMUX support, you have to give it an invalid IP address to bindto. This may be OS specific. On Linux, i
2010-03-04 16:42:00
872
转载 addding new fd in select() for recieving request
Hello Dev,This means that in main() of my subagentmain(){ init_agent("snmpV3Agent"); init_currentAlarmTable(); init_snmp("snmpV3Agent"); ... . ........ //st
2010-03-04 16:37:00
827
转载 nginx.conf
#使用小号 user nobody; #开启进程数 worker_processes 8; #制定进程到cpu(四cpu:0001 0010 0100 1000) worker_cpu_affinity 0001 0010 0100 1000 0001 0010 0100 1000; #每个进程最大打开文件数 worker_
2010-03-02 20:33:00
544
转载 linux下的so、o、lo、a、la文件有什么区别?
o: 编译的目标文件a: 静态库,其实就是把若干o文件打了个包so: 动态链接库(共享库)lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息 1 libtool的工作原理 libtool 是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一、可移植的接口中;使用libtool的
2010-03-01 14:47:00
2181
转载 用Firefox的ScrapBook插件保存网页
Mozilla Firefox的ScrapBook插件可以保存多个层次的网页,而不仅仅限于当前页面。而且用它保存的网站能连同CSS文件中使用的图像也保存下来。就相当于在本地机器上建立网站的镜像了。也可以选择保存特定的文件,如网页中使用到的.mp3文件或者.jpg图像文件等。 正如Mozilla插件网站的说明一样: ScrapBook 能够帮助您保存网页,并且可以方便的管理您收集的网页。轻巧
2010-02-25 16:46:00
4462
转载 CPU亲合力
CPU Affinity (CPU亲合力) CPU亲合力就是指在Linux系统中能够将一个或多个进程绑定到一个或多个处理器上运行. 一个进程的CPU亲合力掩码决定了该进程将在哪个或哪几个CPU上运行.在一个多处理器系统中,设置CPU亲合力的掩码可能会获得更好的性能. 一个CPU的亲合力掩码用一个cpu_set_t结构体来表示一个CPU集合,下面的几个宏分别对这个掩码集进行操作: CPU_ZERO(
2010-02-25 14:43:00
894
转载 GDB概述
GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义
2010-02-24 14:35:00
396
转载 pause指令
__asm__ (".byte 0xf3, 0x90") intel的pause指令。研究nginx代码时,同事遇到上面的代码,很是令人费解。google一翻后有了结果。原来这个指令不简单。PAUSE指令提升了自旋等待循环(spin-wait loop)的性能。当执行一个循环等待时,Intel P4或Intel Xeon处理器会因为检测到一个可能的内存顺序违规(memory order v
2010-02-24 14:31:00
2510
1
转载 openssl windows安装
1. 安装 ActivePerl(for win32)2. 去www.openssl.org/source/ 下载源代码,并解压,其实源码中也有安装方式的,不过是英文的,在openssl目录下的INSTALL.W32文件中可以查看。3. cmd打开命令行,进入openssl目录下执行perl Configure VC-WIN324. 运行 ms/do_ms5. 进入VC的bin目录,执行vcvar
2010-02-24 10:03:00
551
原创 Memcache
1 Memcache是什么Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。 为什么
2010-02-23 14:34:00
523
转载 广电炮轰宽带市场垄断幕后
就在2010年1月13日国务院会议通过推进“三网融合”前一个月左右,2009年12月10日,第二届中国广电行业发展趋势年会在北京广电国际酒店召开。在当天《中国通信网》刊登的一则消息中,用了这样一个标题:《广电总局炮轰宽带市场垄断:广电集体缺席是主因》。 文章引用广电总局科技司副司长王联在会上的发言称,中国宽带接入速度远远落后于世界上发达的国家,经合组织(OECD)主要国家平均网络下行速率已经
2010-02-23 12:57:00
1864
转载 Linux文件类型
• 普通文件(regular file):就是一般我们存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为:纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容为我们可以直接读到的数据,例如数字、字母等等。设置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.
2010-02-23 11:14:00
490
转载 一些信号说明
root@abc # kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGUSR117) SIGU
2010-02-23 09:34:00
607
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人