Quantcast
Channel: C++博客-一年十二月  谁主春秋关注:基础系统工程 密码学 人工智能-随笔分类-System
Browsing all 24 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Shell应用(1): 搜索文本的几种方法

方法1:使用find和xargs命令      find dir | xargs grep str,dir是指某个目录      find file | xargs grep str,file是指某个文件    注意:这种方法,会递归搜索子目录 方法2:直接使用grep命令      grep str dir/*,dir是指某个目录,但不递归搜索其子目录      grep -r str...

View Article


Image may be NSFW.
Clik here to view.

通用Makefile文件及应用

原理...

View Article


Image may be NSFW.
Clik here to view.

Shell应用(2): 查看TCP服务器的性能

   为方便查看特定TCP服务器进程的CPU、内存和网络连接情况,编写了一个简单的脚本perf.sh,其原理是指定--tcp或-t选项来调用netstat命令,指定aux -T选项参数调用ps命令,对输出结果根据进程名称或PID调用grep过滤;为了输出结果的可读性,先调用ps和netstat,用head取出保存大多是说明描述性的头几行。这里的实现具有如下特点:    ●...

View Article

Image may be NSFW.
Clik here to view.

Shell应用(3): 使用awk统计磁盘空间

   本文以统计磁盘文件系统已用空间为例说明awk的用法,使用命令df可获得磁盘文件系统的相关信息,如下图所示          第3列Used便是已用空间的数据,这是正常的情形。当第1列Filesystem文本过长时,就有可能换行输出,这是特殊的情形,如下图所示...

View Article

Image may be NSFW.
Clik here to view.

计算Linux系统和进程CPU及内存使用率

     摘要: 基本原理   1)系统CPU使用率等于两个时间点的CPU非空闲时间差除以CPU时间总量差得到的百分比,这两者可从/proc/stat文件获得。   2)系统内存使用率等于系统物理内存消耗量除以系统物理内存总量(memtotal,以KB为单位)得到的百分比,这两者可从/proc/meminfo文件获得。   3...  阅读全文春秋十二月 2013-05-31 19:04 发表评论

View Article


Image may be NSFW.
Clik here to view.

基于Linux平台的高级IO扩展函数

     摘要:      由于read、readv、write和writev函数一次读或写有时并不能满足所要求的数据,因此需要多次调用直到要求的字节数或者出错。针对这4个系统调用,编写了对应的xxxn版本,实现如下 Code highlighting produced by Actipro CodeHighlighter (freeware)http:...  阅读全文春秋十二月...

View Article

Image may be NSFW.
Clik here to view.

Shell应用(4): 使用sed删除行尾的^M字符

   由于从其它平台如windows传输文件到类unix平台时,用vim等编辑工具打开时,有时会发现行尾有^M,其实这就是控制字符CR,ASCII码为13。为方便删除这个字符,编写了一个简单的dos2unix脚本,最多带2个参数,特点如下:   ● 第1个参数表示目标文件或目录,当为文件时则处理非脚本本身的文件,当为目录时则根据第2个参数是否递归处理子目录。    ●...

View Article

Image may be NSFW.
Clik here to view.

Shell应用(5): 自动生成并安装服务脚本

脚本概述   一般地,当在目标机器编译安装某个服务程序后,为了使服务能开机自启动和关机自停止,则需要将其添加为系统服务。但不同的Linux系统管理服务的方法不同,如Ubuntu使用update-rc.d命令,而RedHat则使用chkconfig命令。因此为了能自动识别系统的类型,减少人工控制,编写了一个简单的autosrv脚本,要求至少1个最多2个参数,特点如下:   ●...

View Article


Image may be NSFW.
Clik here to view.

Shell应用(6): TCP内核调优与转储设置

   为了方便更改系统tcp内核的一些参数,编写ktcpopt脚本如下 1#! /bin/bash 2# ktcpopt 34sed -i...

View Article


Image may be NSFW.
Clik here to view.

基于TLS FIFO的进程间通信模型

   众所周知,TLS是指线程局部存储,FIFO是Unix中的命名管道,可用于无关进程间的通信,而本文描述的TLS...

View Article

Image may be NSFW.
Clik here to view.

Shell应用(7):nginx升级与恢复

     摘要: 脚本概述   nginx是一款著名的开源web服务器,为方便升级与恢复,编写了一个简单的脚本,因为升级备份了可执行文件和配置文件(后缀名为old),所以可用于恢复。当升级时,若nginx正在运行,则不中断服务进行平滑升级,否则直接拷贝覆盖;当恢复时,若nginx正在运行,则不中断服务进行平滑恢复,否则直接拷贝覆盖。是否正在运行根据pid来判断,而pid从pid文件读取......

View Article

Image may be NSFW.
Clik here to view.

Shell应用(8):使用awk定位反汇编输出

脚本概述   由于使用objdump反汇编linux内核的输出太多(2.6.32-220.el6.x86_64统计结果为1457706行),而很多时候只是想查看特定部分的机器码与汇编指令,例如函数的入口、堆栈、调用了哪个函数等,为了高效和通用,因此编写了一个简单的awk脚本,其命令行参数说明如下:   ●...

View Article

Image may be NSFW.
Clik here to view.

一种动态跟踪TCP连接与进程相关性的方法

描述    TCP连接跟踪是网络流控和防火墙中的一项重要的基础技术,当运用于主机时,连接必与进程相关联,要么是主动发出的,要么是被动接受的,当后代进程被动态创建时,由于文件描述符的继承,一个连接就会被这个进程树中的所有进程共享;当一个进程发出或接受多个连接时,就拥有了多个连接。本方法可用于网络安全产品中,监控TCP连接及所属进程,能准确并动态地知道一个连接被哪些进程共享,一个进程拥有哪些连接。 特点...

View Article


Image may be NSFW.
Clik here to view.

一种根据dentry获取绝对路径名的实现方法

   本方法适用于linux 2.6.x内核。    1. 先获取dentry所属文件系统对应的挂载点,基本原理是遍历文件系统vfsmount树,找到与dentry有相同超级块的vfsmount,实现如下  1extern spinlock_t *vfsmnt_lock;  2  3static struct vfsmount* next_mnt(struct vfsmount *p, struct...

View Article

Image may be NSFW.
Clik here to view.

一种拦截Linux动态库API的方法及装置

描述    拦截Linux动态库API的常规方法,是基于动态符号链接覆盖技术实现的,基本步骤是    1. 重命名要拦截的目标动态库。    2. 创建新的同名动态库,定义要拦截的同名API,在API内部调用原动态库对应的API。这里的同名是指与重命名前动态库前的名称相同。...

View Article


Image may be NSFW.
Clik here to view.

Shell应用(9):自动化批量编译

脚本概述...

View Article

Image may be NSFW.
Clik here to view.

Shell应用(10):支持开源库编译的Makefile

脚本源码   由于很多应用项目依赖诸多第三方开源库,这些开源库各有不同的核心目录、库目标和输出位置,这里的核心目录是指仅产生so库的工程目录,库目标是指仅产生so库的make目标,输出位置是相对于核心目录的,但不必是子目录,可用..来回溯到父目录的某位置,更高层目录的位置,依次类推。为了统一支持它们,使用了一些技巧,详见示例脚本如下  1.PHONY: all clean lib core 2...

View Article


Image may be NSFW.
Clik here to view.

关于make依赖文件的自动生成

  在GNU make中文手册这本书中,3.14节讲到了依赖文件的自动生成,如下图...

View Article

Image may be NSFW.
Clik here to view.

Shell(11): 创建和删除so库软链接

脚本概述   由于某些sdk或软件依赖众多的第三方库,而从官网下载到windows主机或从linux传到windows时,所依赖的so库往往丢失符号链接,给编译运行带来不便,因此编写了ctlsolink脚本,用于自动为单个so或某目录下的众多so或创建/删除一级/二级符号链接。该脚本的用法如下:   ● 第1参数为mk或rm子命令,mk表示创建,rm表示删除   ● 第2参数为文件或目录   ●...

View Article

Image may be NSFW.
Clik here to view.

基于VSS可传输卷影拷贝的备份架构

部署图      传统的vss备份架构由于备份应用部署在应用服务器内,因此比较耗应用服务器的CPU和IO,特别是拷贝大量的文件,为了降低对应用服务器的干扰,可采用server-free架构,将耗时的拷贝移到另一机器即备份服务器实现,而应用服务器只负责占用资源及耗时很少的打快照。这种架构运用了vss可传输卷影拷贝的特性,要求快照处于共享存储中,适用于Windows Server 2003...

View Article
Browsing all 24 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>