Browsing the archives for the Linux tag

Linux环境下PCRE库的使用

in 服务器类

今天下载了PCRE的正则表达式库,应用在Linux环境下的C语言编程中。 调用方法: 1.下载PCRE库:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/,版本是7.8; 2.解压后执行configure,而后make,make install,可配置后动态链接库; 3.写了个测试的例子:

0 Comments

Linux提交命令至后台运行

in 服务器类

我经常在putty里工作,有时候如果一个命令执行太长,不得已,我得开两个窗口,如果事情再多,可能开四个五个,不过有的ssh登陆工具可以开多个窗口,但难免会出点乱子.那么我们可以把命令隐藏再后台执行,使用linux下命令  “&”  这个倒霉的符号. 比如我们要执行一个命令,(暂时没想到执行时间N长的命令,假设一个shell) test.sh , 现在提交并隐藏在后台 $./test.sh >> test.log & 意思是,执行test.sh 反馈的结构输送至 test.log , &表示这个命令提交至后台执行. 执行后,返回一个进程号,可以用ps来查看. 这样,我们可以连续在同一个终端窗口上运行多个持续的命令. 然后,问题又来.我们运行这些命令至后台后,如果想退出终端窗口,那么后台的命令也随之中断.我们得想办法让进程持续运行.这里得使用此命令 nohup 重新执行上边的操作,那么我们应该这样执行 $nohup ./test.sh >> test.log 然后敲logout,放心,再登陆试试ps,进程依然存在!  

0 Comments

iftop来查看linux的即时流量

in 服务器类

关于 Iftop iftop 是类似于top的实时流量监控工具。主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同那台机器间的流量大小,非常适合于代理服务器和iptables服务器使用 官方网站:http://www.ex-parrot.com/~pdw/iftop/ 安装iftop 安装方法1、编译安装 如果采用编译安装可以到iftop官网下载最新的源码包。 安装前需要已经安装好基本的编译所需的环境,比如make、gcc、autoconf等。安装iftop还需要安装libpcap和libcurses。 CentOS上安装所需依赖包: yum install flex byacc  libpcap ncurses ncurses-devel libpcap-devel Debian上安装所需依赖包: apt-get install flex byacc  libpcap0.8 libncurses5

0 Comments

Centos4.7(Linux)下架设BT服务器

in 服务器类

穷人,就得想穷人的办法,带宽被坑,严重缩水,为了分享大量资源,最终决定使用bt发布一些大资源。 网上找了很多BitTorrent架设btserver的教程,不是版本不对,就是安装复杂,所以,我找了个比较老的版本,一次装上调通。 我使用了BitTorrent-3.9.1,官方下载地址为 http://download.bittorrent.com/dl/archive/BitTorrent-3.9.1.tar.gz 防止墙,我传到本地 bittorrent-3.9.1.tar.gz 首先你服务器要预装python,centos4.7预装python2.3,我预留,但服务器环境python使用了2.5版,2.3不能删,yum对版本依赖性比较强,还得预留。 解压 BitTorrent-3.9.1.tar.gz 后进入文件夹,按照说明进行安装: python setup.py install 即可安装。当然中间会遇到各种问题,大部分是关于python版本或者依赖的,错误可以跟帖发一下,一起解决。

0 Comments

在红帽企业版Linux中,如何删除swap分区?

in 服务器类

在红帽企业版Linux中,如何删除swap分区? 删除一个swap分区的步骤如下: 1. 首先保证没有使用硬盘(没有挂载分区,没有使能swap分区)。最简单的方法是以救援模式启动系统,当提示挂载文件系统时,选择Skip。 不过,如果当前设备不包含任何在用的分区,那么可以直接卸载文件系统,使用swapoff命令关闭硬盘上的交换分区。 2. 在root提示符下,执行如下命令确保交换分区已关闭(这里假定/dev/hdb2是交换分区) swapoff /dev/hdb2 3. 从/etc/fstab中移除记录 4. 使用parted删除分区: 1)在root提示符下,键入命令:parted /dev/hdb,这里,/dev/hdb是要删除的交换分区所在的磁盘 2)在parted提示符下,键入print命令查看已有分区,并查找想要删除的交换分区的此设备号。 3)在parted提示符下,键入rm MINOR,这里MINOR是要删除的分区的次设备号 4)键入quit退出parted提示符。 © 2011 Red Hat, Inc. All rights re  

0 Comments

Linux下cache内存释放

in 服务器类

/proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段.也就是说可以通过修改/proc中的文 件,来对当前kernel的行为做出调整.那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存.操作如下: [root@server test]# cat /proc/sys/vm/drop_caches 0 首先,/proc/sys /vm/drop_caches的值,默认为0 [root@server test]# sync 手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件) [root@server test]# echo 3 > /proc/sys/vm/drop_caches [root@server test]# cat /proc/sys/vm/drop_caches 3 将/proc/sys/vm/drop_caches值设为3

第 7 章进程控制开发

in 程序开发

本章目标 文件是 Linux 中最常见最基础的操作对象,而进程则是系统调度的单位,在上一章学习了文件I/O 控制之后,本章主要讲解进程控制开发部分,通过本章的学习,读者将会掌握以下内容。 掌握进程相关的基本概念 掌握 Linux 下的进程结构 掌握 Linux 下进程创建及进程管理 掌握 Linux下进程创建相关的系统调用 掌握守护进程的概念 掌握守护进程的启动方法 掌握守护进程的输出及建立方法 学会编写多进程程序 学会编写守护进程 7.1 Linux 下进程概述 7.1.1 进程相关基本概念 1.进程的定义

6.5.3 输入输出

in 程序开发

文件打开之后,根据一次读写文件中字符的数目可分为字符输入输出、行输入输出和格式化输入输出,下面分别对这3 种不同的方式进行讨论。 1.字符输入输出 字符输入输出函数一次仅读写一个字符。其中字符输入输出函数如表6.20和表6.21所示。 表6.20 字符输出函数语法要点 所需头文件#include <stdio.h> 函数原型 int getc(FILE * stream) int fgetc(FILE * stream) int getchar(void) 函数传入值stream:要输入的文件流 函数返回值

0 Comments

6.5.2 文件读写

in 程序开发

1.读文件 (1)fread函数说明 在文件流打开之后,可对文件流进行读写等操作,其中读操作的函数为fread。 (2)fread函数格式 fread函数格式如表6.18所示。 表6.18 fread函数语法要点 所需头文件 #include <stdio.h> 函数原型 size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream) ptr:存放读入记录的缓冲区 size:读取的记录大小 nmemb:读取的记录数 函数传入值 stream:要读取的文件流 函数返回值 成功:返回实际读取到的nmemb数目 失败:EOF 2.写文件 (1)fwrite函数说明 fwrite函数是用于对指定的文件流进行写操作。 (2)fwrite函数格式 fwrite函数格式如表6.19 所示。 表6.19 fwrite函数语法要点 所需头文件#include <stdio.h> 函数原型 size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream) 函数传入值ptr:存放写入记录的缓冲区 size:写入的记录大小 nmemb:写入的记录数 stream:要写入的文件流 函数返回值 成功:返回实际写入到的nmemb数目 失败:EOF 这里仅以fwrite为例简单说明: [...]

0 Comments

6.5 标准 I/O 开发

in 程序开发

本章前面几节所述的文件及I/O 读写都是基于文件描述符的。这些都是基本的I/O 控制,是不带缓存的。而本节所要讨论的I/O 操作都是基于流缓冲的,它是符合ANSI C的标准I/O处理,这里有很多函数读者已经非常熟悉了(如printf、scantf 函数等),因此本节中仅简要介绍最主要的函数。 标准 I/O 提供流缓冲的目的是尽可能减少使用read和write调用的数量。标准I/O 提供了3 种类型的缓冲存储。 · 全缓冲。在这种情况下,当填满标准I/O 缓存后才进行实际I/O 操作。对于驻在磁盘上的文件通常是由标准I/O 库实施全缓冲的。在一个流上执行第一次I/O 操作时,通常调用malloc就是使用全缓冲。 · 行缓冲。在这种情况下,当在输入和输出中遇到新行符时,标准I/O 库执行I/O 操作。 这允许我们一次输出一个字符(如fputc 函数),但只有写了一行之后才进行实际I/O 操作。 当流涉及一个终端时(例如标准输入和标准输出),典型地使用行缓冲。