InitPHP2.1开源框架 - 2011.12.12版本:完整包下载

MongoDB类

作者:initphp 发布于:2012-5-15 10:54 Tuesday 分类:php

<?php
if (!defined('IS_INITPHP')) exit('Access Denied!');
/*********************************************************************************
 * InitPHP 2.0 国产PHP开发框架  Dao-Nosql-Mongo 
 *-------------------------------------------------------------------------------
 * 版权所有: CopyRight By initphp.com
 * 您可以自由使用该源码,但是在使用过程中,请保留作者信息。尊重他人劳动成果就是尊重自己
 *-------------------------------------------------------------------------------
 * $Author:zhuli
 * $Dtime:2011-10-09 
***********************************************************************************/
class mongoInit {

	private $mongo; //mongo对象
	private $db; //db mongodb对象数据库
	private $collection; //集合,相当于数据表 
	
	/**
	 * 初始化Mongo
	 * $config = array(
	 * 'server' => ‘127.0.0.1' 服务器地址
	 * ‘port’   => '27017' 端口地址
	 * ‘option’ => array('connect' => true) 参数
	 * 'db_name'=> 'test' 数据库名称
	 * ‘username’=> 'zhuli' 数据库用户名
	 * ‘password’=> '123456' 数据库密码
	 * )
	 * Enter description here ...
	 * @param unknown_type $config
	 */
	public function init($config = array()) {
		if ($config['server'] == '')  $config['server'] = '127.0.0.1';
		if ($config['port'] == '')  $config['port'] = '27017';
		if (!$config['option']) $config['option'] = array('connect' => true);
		$server = 'mongodb://' . $config['server'] . ':' . $config['port'];
		$this->mongo = new Mongo($server, $options);
		if ($config['db_name'] == '') $config['db_name'] = 'test';
		$this->db = $this->mongo->selectDB($config['db_name']);
		if ($config['username'] != '' && $config['password'] != '') 
			$this->db->authenticate($config['username'], $config['password']);
	}
	
	/**
	 * 选择一个集合,相当于选择一个数据表
	 * @param string $collection 集合名称
	 */
	public function selectCollection($collection) {
		return $this->collection = $this->db->selectCollection($collection);
	}
	
	/**
	 * 新增数据
	 * @param array $data 需要新增的数据 例如:array('title' => '1000', 'username' => 'xcxx')
	 * @param array $option 参数
	 */
	public function insert($data, $option = array()) {
		return $this->collection->insert($data, $option);
	}
	
	/**
	 * 批量新增数据
 	 * @param array $data 需要新增的数据 例如:array(0=>array('title' => '1000', 'username' => 'xcxx'))
	 * @param array $option 参数
	 */
	public function batchInsert($data, $option = array()) {
		return $this->collection->batchInsert($data, $option);
	}
	
	/**
	 * 保存数据,如果已经存在在库中,则更新,不存在,则新增
 	 * @param array $data 需要新增的数据 例如:array(0=>array('title' => '1000', 'username' => 'xcxx'))
	 * @param array $option 参数
	 */
	public function save($data, $option = array()) {
		return $this->collection->save($data, $option);
	}
	
	/**
	 * 根据条件移除
 	 * @param array $query  条件 例如:array(('title' => '1000'))
	 * @param array $option 参数
	 */
	public function remove($query, $option = array()) {
		return $this->collection->remove($query, $option);
	}
	
	/**
	 * 根据条件更新数据
 	 * @param array $query  条件 例如:array(('title' => '1000'))
 	 * @param array $data   需要更新的数据 例如:array(0=>array('title' => '1000', 'username' => 'xcxx'))
	 * @param array $option 参数
	 */
	public function update($query, $data, $option = array()) {
		return $this->collection->update($query, $data, $option);
	}
	
	/**
	 * 根据条件查找一条数据
 	 * @param array $query  条件 例如:array(('title' => '1000'))
	 * @param array $fields 参数
	 */
	public function findOne($query, $fields = array()) {
		return $this->collection->findOne($query, $fields);
	}
	
	/**
	 * 根据条件查找多条数据
	 * @param array $query 查询条件
	 * @param array $sort  排序条件 array('age' => -1, 'username' => 1)
	 * @param int   $limit 页面
	 * @param int   $limit 查询到的数据条数
	 * @param array $fields返回的字段
	 */
	public function find($query, $sort = array(), $skip = 0, $limit = 0, $fields = array()) {
		$cursor = $this->collection->find($query, $fields);
		if ($sort)  $cursor->sort($sort);
		if ($skip)  $cursor->skip($skip);
        if ($limit) $cursor->limit($limit);
		return iterator_to_array($cursor);
	}
	
	/**
	 * 数据统计
	 */
	public function count() {
		return $this->collection->count();
	}
	
	/**
	 * 错误信息
	 */
	public function error() {
		return $this->db->lastError();
	}
	
	/**
	 * 获取集合对象
	 */
	public function getCollection() {
		return $this->collection;
	}
	
	/**
	 * 获取DB对象
	 */
	public function getDb() {
		return $this->db;
	}
	
	
}

评论(0) 引用(0) 浏览(13)

Redis的一个类

作者:initphp 发布于:2012-5-15 10:53 Tuesday 分类:php

<?php
if (!defined('IS_INITPHP')) exit('Access Denied!');
/*********************************************************************************
 * InitPHP 2.0 国产PHP开发框架  Dao-Nosql-Redis
 *-------------------------------------------------------------------------------
 * 版权所有: CopyRight By initphp.com
 * 您可以自由使用该源码,但是在使用过程中,请保留作者信息。尊重他人劳动成果就是尊重自己
 *-------------------------------------------------------------------------------
 * $Author:zhuli
 * $Dtime:2011-10-09 
***********************************************************************************/
class redisInit {
	
	private $redis; //redis对象
	
	/**
	 * 初始化Redis
	 * $config = array(
	 *  'server' => '127.0.0.1' 服务器
	 *  'port'   => '6379' 端口号
	 * )
	 * @param array $config
	 */
	public function init($config = array()) {
		if ($config['server'] == '')  $config['server'] = '127.0.0.1';
		if ($config['port'] == '')  $config['port'] = '6379';
		$this->redis = new Redis();
		$this->redis->connect($config['server'], $config['port']);
		return $this->redis;
	}
	
	/**
	 * 设置值
	 * @param string $key KEY名称
	 * @param string|array $value 获取得到的数据
	 * @param int $timeOut 时间
	 */
	public function set($key, $value, $timeOut = 0) {
		$value = json_encode($value, TRUE);
		$retRes = $this->redis->set($key, $value);
		if ($timeOut > 0) $this->redis->setTimeout($key, $timeOut);
		return $retRes;
	}

	/**
	 * 通过KEY获取数据
	 * @param string $key KEY名称
	 */
	public function get($key) {
		$result = $this->redis->get($key);
		return json_decode($result, TRUE);
	}
	
	/**
	 * 删除一条数据
	 * @param string $key KEY名称
	 */
	public function delete($key) {
		return $this->redis->delete($key);
	}
	
	/**
	 * 清空数据
	 */
	public function flushAll() {
		return $this->redis->flushAll();
	}
	
	/**
	 * 数据入队列
	 * @param string $key KEY名称
	 * @param string|array $value 获取得到的数据
	 * @param bool $right 是否从右边开始入
	 */
	public function push($key, $value ,$right = true) {
		$value = json_encode($value);
		return $right ? $this->redis->rPush($key, $value) : $this->redis->lPush($key, $value);
	}
	
	/**
	 * 数据出队列
	 * @param string $key KEY名称
	 * @param bool $left 是否从左边开始出数据
	 */
	public function pop($key , $left = true) {
		$val = $left ? $this->redis->lPop($key) : $this->redis->rPop($key);
		return json_decode($val);
	}
	
	/**
	 * 数据自增
	 * @param string $key KEY名称
	 */
	public function increment($key) {
		return $this->redis->incr($key);
	}

	/**
	 * 数据自减
	 * @param string $key KEY名称
	 */
	public function decrement($key) {
		return $this->redis->decr($key);
	}
	
	/**
	 * key是否存在,存在返回ture
	 * @param string $key KEY名称
	 */
	public function exists($key) {
		return $this->redis->exists($key);
	}
	
	/**
	 * 返回redis对象
	 * redis有非常多的操作方法,我们只封装了一部分
	 * 拿着这个对象就可以直接调用redis自身方法
	 */
	public function redis() {
		return $this->redis;
	}
}

评论(0) 引用(0) 浏览(13)

一个汉字转pinyin类

作者:initphp 发布于:2012-5-2 15:55 Wednesday 分类:php

<?php
if (!defined('IS_INITPHP')) exit('Access Denied!');   
/*********************************************************************************
 * InitPHP 2.0 国产PHP开发框架  扩展类库-pinyin
 *-------------------------------------------------------------------------------
 * 版权所有: CopyRight By initphp.com
 * 您可以自由使用该源码,但是在使用过程中,请保留作者信息。尊重他人劳动成果就是尊重自己
 *-------------------------------------------------------------------------------
 * $Author:zhuli
 * $Dtime:2011-10-09 
***********************************************************************************/
class pinyinInit {

	private $pinyinArr = NULL;
	
	/**
	 * 对外接口
	 */
	public function pinyin($string, $utf8 = true) {
		$string = ($utf8 === true) ? iconv('utf-8', 'gbk', $string) : $string;
		if ($this->pinyinArr == NULL) {
			$this->pinyinArr = $this->pinyin_code();
		}
		$num = strlen($string);
		$pinyin = '';
        for ($i=0; $i < $num; $i++) {
            $temp = ord(substr($string, $i, 1));
            if ($temp > 160) {
                $temp2 = ord(substr($string, ++$i, 1));
                $temp  = $temp * 256 + $temp2 - 65536;
            }
			if ($temp > 0 && $temp < 160) {
				$pinyin .= chr($temp);
			} elseif ($temp < -20319 || $temp > -10247){
				$pinyin	.= '';
			} else {
				$total =sizeof($this->pinyinArr) - 1;
				for ($j = $total; $j >= 0; $j--) {
					if ($this->pinyinArr[$j][1] <= $temp) {
						break;
					}
				}
				$pinyin .= $this->pinyinArr[$j][0];
			}
        }
        return ($utf8==true) ? iconv('gbk', 'utf-8', $pinyin) : $pinyin;
	}

	/**
	 * 拼音代码库
	 * @return array
	 */
	public function pinyin_code() {
		return array(
            array("a",-20319),
            array("ai",-20317),
            array("an",-20304),
            array("ang",-20295),
            array("ao",-20292),
            array("ba",-20283),
            array("bai",-20265),
            array("ban",-20257),
            array("bang",-20242),
            array("bao",-20230),
            array("bei",-20051),
            array("ben",-20036),
            array("beng",-20032),
            array("bi",-20026),
            array("bian",-20002),
            array("biao",-19990),
            array("bie",-19986),
            array("bin",-19982),
            array("bing",-19976),
            array("bo",-19805),
            array("bu",-19784),
            array("ca",-19775),
            array("cai",-19774),
            array("can",-19763),
            array("cang",-19756),
            array("cao",-19751),
            array("ce",-19746),
            array("ceng",-19741),
            array("cha",-19739),
            array("chai",-19728),
            array("chan",-19725),
            array("chang",-19715),
            array("chao",-19540),
            array("che",-19531),
            array("chen",-19525),
            array("cheng",-19515),
            array("chi",-19500),
            array("chong",-19484),
            array("chou",-19479),
            array("chu",-19467),
            array("chuai",-19289),
            array("chuan",-19288),
            array("chuang",-19281),
            array("chui",-19275),
            array("chun",-19270),
            array("chuo",-19263),
            array("ci",-19261),
            array("cong",-19249),
            array("cou",-19243),
            array("cu",-19242),
            array("cuan",-19238),
            array("cui",-19235),
            array("cun",-19227),
            array("cuo",-19224),
            array("da",-19218),
            array("dai",-19212),
            array("dan",-19038),
            array("dang",-19023),
            array("dao",-19018),
            array("de",-19006),
            array("deng",-19003),
            array("di",-18996),
            array("dian",-18977),
            array("diao",-18961),
            array("die",-18952),
            array("ding",-18783),
            array("diu",-18774),
            array("dong",-18773),
            array("dou",-18763),
            array("du",-18756),
            array("duan",-18741),
            array("dui",-18735),
            array("dun",-18731),
            array("duo",-18722),
            array("e",-18710),
            array("en",-18697),
            array("er",-18696),
            array("fa",-18526),
            array("fan",-18518),
            array("fang",-18501),
            array("fei",-18490),
            array("fen",-18478),
            array("feng",-18463),
            array("fo",-18448),
            array("fou",-18447),
            array("fu",-18446),
            array("ga",-18239),
            array("gai",-18237),
            array("gan",-18231),
            array("gang",-18220),
            array("gao",-18211),
            array("ge",-18201),
            array("gei",-18184),
            array("gen",-18183),
            array("geng",-18181),
            array("gong",-18012),
            array("gou",-17997),
            array("gu",-17988),
            array("gua",-17970),
            array("guai",-17964),
            array("guan",-17961),
            array("guang",-17950),
            array("gui",-17947),
            array("gun",-17931),
            array("guo",-17928),
            array("ha",-17922),
            array("hai",-17759),
            array("han",-17752),
            array("hang",-17733),
            array("hao",-17730),
            array("he",-17721),
            array("hei",-17703),
            array("hen",-17701),
            array("heng",-17697),
            array("hong",-17692),
            array("hou",-17683),
            array("hu",-17676),
            array("hua",-17496),
            array("huai",-17487),
            array("huan",-17482),
            array("huang",-17468),
            array("hui",-17454),
            array("hun",-17433),
            array("huo",-17427),
            array("ji",-17417),
            array("jia",-17202),
            array("jian",-17185),
            array("jiang",-16983),
            array("jiao",-16970),
            array("jie",-16942),
            array("jin",-16915),
            array("jing",-16733),
            array("jiong",-16708),
            array("jiu",-16706),
            array("ju",-16689),
            array("juan",-16664),
            array("jue",-16657),
            array("jun",-16647),
            array("ka",-16474),
            array("kai",-16470),
            array("kan",-16465),
            array("kang",-16459),
            array("kao",-16452),
            array("ke",-16448),
            array("ken",-16433),
            array("keng",-16429),
            array("kong",-16427),
            array("kou",-16423),
            array("ku",-16419),
            array("kua",-16412),
            array("kuai",-16407),
            array("kuan",-16403),
            array("kuang",-16401),
            array("kui",-16393),
            array("kun",-16220),
            array("kuo",-16216),
            array("la",-16212),
            array("lai",-16205),
            array("lan",-16202),
            array("lang",-16187),
            array("lao",-16180),
            array("le",-16171),
            array("lei",-16169),
            array("leng",-16158),
            array("li",-16155),
            array("lia",-15959),
            array("lian",-15958),
            array("liang",-15944),
            array("liao",-15933),
            array("lie",-15920),
            array("lin",-15915),
            array("ling",-15903),
            array("liu",-15889),
            array("long",-15878),
            array("lou",-15707),
            array("lu",-15701),
            array("lv",-15681),
            array("luan",-15667),
            array("lue",-15661),
            array("lun",-15659),
            array("luo",-15652),
            array("ma",-15640),
            array("mai",-15631),
            array("man",-15625),
            array("mang",-15454),
            array("mao",-15448),
            array("me",-15436),
            array("mei",-15435),
            array("men",-15419),
            array("meng",-15416),
            array("mi",-15408),
            array("mian",-15394),
            array("miao",-15385),
            array("mie",-15377),
            array("min",-15375),
            array("ming",-15369),
            array("miu",-15363),
            array("mo",-15362),
            array("mou",-15183),
            array("mu",-15180),
            array("na",-15165),
            array("nai",-15158),
            array("nan",-15153),
            array("nang",-15150),
            array("nao",-15149),
            array("ne",-15144),
            array("nei",-15143),
            array("nen",-15141),
            array("neng",-15140),
            array("ni",-15139),
            array("nian",-15128),
            array("niang",-15121),
            array("niao",-15119),
            array("nie",-15117),
            array("nin",-15110),
            array("ning",-15109),
            array("niu",-14941),
            array("nong",-14937),
            array("nu",-14933),
            array("nv",-14930),
            array("nuan",-14929),
            array("nue",-14928),
            array("nuo",-14926),
            array("o",-14922),
            array("ou",-14921),
            array("pa",-14914),
            array("pai",-14908),
            array("pan",-14902),
            array("pang",-14894),
            array("pao",-14889),
            array("pei",-14882),
            array("pen",-14873),
            array("peng",-14871),
            array("pi",-14857),
            array("pian",-14678),
            array("piao",-14674),
            array("pie",-14670),
            array("pin",-14668),
            array("ping",-14663),
            array("po",-14654),
            array("pu",-14645),
            array("qi",-14630),
            array("qia",-14594),
            array("qian",-14429),
            array("qiang",-14407),
            array("qiao",-14399),
            array("qie",-14384),
            array("qin",-14379),
            array("qing",-14368),
            array("qiong",-14355),
            array("qiu",-14353),
            array("qu",-14345),
            array("quan",-14170),
            array("que",-14159),
            array("qun",-14151),
            array("ran",-14149),
            array("rang",-14145),
            array("rao",-14140),
            array("re",-14137),
            array("ren",-14135),
            array("reng",-14125),
            array("ri",-14123),
            array("rong",-14122),
            array("rou",-14112),
            array("ru",-14109),
            array("ruan",-14099),
            array("rui",-14097),
            array("run",-14094),
            array("ruo",-14092),
            array("sa",-14090),
            array("sai",-14087),
            array("san",-14083),
            array("sang",-13917),
            array("sao",-13914),
            array("se",-13910),
            array("sen",-13907),
            array("seng",-13906),
            array("sha",-13905),
            array("shai",-13896),
            array("shan",-13894),
            array("shang",-13878),
            array("shao",-13870),
            array("she",-13859),
            array("shen",-13847),
            array("sheng",-13831),
            array("shi",-13658),
            array("shou",-13611),
            array("shu",-13601),
            array("shua",-13406),
            array("shuai",-13404),
            array("shuan",-13400),
            array("shuang",-13398),
            array("shui",-13395),
            array("shun",-13391),
            array("shuo",-13387),
            array("si",-13383),
            array("song",-13367),
            array("sou",-13359),
            array("su",-13356),
            array("suan",-13343),
            array("sui",-13340),
            array("sun",-13329),
            array("suo",-13326),
            array("ta",-13318),
            array("tai",-13147),
            array("tan",-13138),
            array("tang",-13120),
            array("tao",-13107),
            array("te",-13096),
            array("teng",-13095),
            array("ti",-13091),
            array("tian",-13076),
            array("tiao",-13068),
            array("tie",-13063),
            array("ting",-13060),
            array("tong",-12888),
            array("tou",-12875),
            array("tu",-12871),
            array("tuan",-12860),
            array("tui",-12858),
            array("tun",-12852),
            array("tuo",-12849),
            array("wa",-12838),
            array("wai",-12831),
            array("wan",-12829),
            array("wang",-12812),
            array("wei",-12802),
            array("wen",-12607),
            array("weng",-12597),
            array("wo",-12594),
            array("wu",-12585),
            array("xi",-12556),
            array("xia",-12359),
            array("xian",-12346),
            array("xiang",-12320),
            array("xiao",-12300),
            array("xie",-12120),
            array("xin",-12099),
            array("xing",-12089),
            array("xiong",-12074),
            array("xiu",-12067),
            array("xu",-12058),
            array("xuan",-12039),
            array("xue",-11867),
            array("xun",-11861),
            array("ya",-11847),
            array("yan",-11831),
            array("yang",-11798),
            array("yao",-11781),
            array("ye",-11604),
            array("yi",-11589),
            array("yin",-11536),
            array("ying",-11358),
            array("yo",-11340),
            array("yo",-11340),
            array("yong",-11339),
            array("you",-11324),
            array("yu",-11303),
            array("yuan",-11097),
            array("yue",-11077),
            array("yun",-11067),
            array("za",-11055),
            array("zai",-11052),
            array("zan",-11045),
            array("zang",-11041),
            array("zao",-11038),
            array("ze",-11024),
            array("zei",-11020),
            array("zen",-11019),
            array("zeng",-11018),
            array("zha",-11014),
            array("zhai",-10838),
            array("zhan",-10832),
            array("zhang",-10815),
            array("zhao",-10800),
            array("zhe",-10790),
            array("zhen",-10780),
            array("zheng",-10764),
            array("zhi",-10587),
            array("zhong",-10544),
            array("zhou",-10533),
            array("zhu",-10519),
            array("zhua",-10331),
            array("zhuai",-10329),
            array("zhuan",-10328),
            array("zhuang",-10322),
            array("zhui",-10315),
            array("zhun",-10309),
            array("zhuo",-10307),
            array("zi",-10296),
            array("zong",-10281),
            array("zou",-10274),
            array("zu",-10270),
            array("zuan",-10262),
            array("zui",-10260),
            array("zun",-10256),
            array("zuo",-10254),
        );
	}
}

评论(0) 引用(0) 浏览(31)

linux tar

作者:initphp 发布于:2012-4-23 13:16 Monday 分类:linux

#备份文件
tar -zcvpf /backups/full-backup.tar.gz /home /etc

#备份不需要的文件exclude
tar -zcvpf /backups/full-backup.tar.gz -C / --exclude=mnt --exclude=media

#有txt需要备份文件列表
tar -zcvpf /backups/full-backup.tar.gz -T whatsbackup.txt

#给备份添加时间
tar -zcvpf /backups/full-backup_$(date +%Y%m%d-%H%M).tar.gz /home

#保存备份结果
tar -zcvpf /backups/full-backup_$(date +%F).tar.gz /home > /backups/logs/full-backup_$(date +%F).log

#增量备份
tar -N 2008-01-29 -zcvpf /backups/inc-backup_$(date +%F).tar.gz /home

#备份例子:
tar -cvpf /dev/st0 --label="Full-backup created on $(date +%Y%m%d-%H%M)." \
> -C / --exclude=var/spool/ etc home usr/local var/spool

tar -cvpf /dev/st0 --label="Incremental-backup created on $(date +%F)." \
> -N $(date -d yesterday "+%F") /etc /home

#恢复文件
tar -zxvpf /backups/full-backup_2008-01-29.tar.gz -C / \
> etc/passwd etc/shadow

评论(0) 引用(0) 浏览(46)

linux 别名

作者:initphp 发布于:2012-4-19 13:01 Thursday 分类:linux

#查看别名
alias
#设置别名
alias lm="ls -l"
#删除别名
unalias lm

#查看历史命令
history
#查看多条历史命令
history 3
#查找历史命令
history | grep sudo svn up
#清除历史命令
history -c

评论(0) 引用(0) 浏览(54)

linux top命令简介

作者:initphp 发布于:2012-4-18 12:54 Wednesday 分类:linux

linux top命令简介

top 命令是最流行的性能监视工具之一,我们必需了解。它是一个优秀的交互式工具,用于监视性能。它提供系统整体性能,但报告进程信息才是 top 命令的长处。top 命令交互界面如下图所视:

top 界面分为两个部份,光标上面部份显示关于系统整体性能,光标下面部份显示各进程信息。光标所在处是用来输入操作命令的。

linux top命令界

linux top命令界面

第一行显示的内容和uptime命令一样,【l】可以显示和隐藏这个区域:

top界面第一行|uptime

top 这个没有什么意思,只是个名称而以
01:47:56 系统当前时间
up 1:26 系统开机到现在经过了多少时间
2 users 当前2用户在线
load average:0.00,0.00,0.00 系统1分钟、5分钟、15分钟的CPU负载信息

第二行:

top界面第二行

Tasks 英文意思是工作;任务;差事。
38 total 很好理解,就是当前有38个任务,也就是38个进程。
1 running 1个进程正在运行
37 sleeping 37个进程睡眠
0 stopped 停止的进程数
0 zombie 僵死的进程数
Cpu(s) 表示这一行显示CPU总体信息
0.0%us 用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。
0.7%sy 内核占用CPU时间百分比
0.0%ni renice值为负的任务的用户态进程的CPU时间百分比。nice是优先级的意思
99.3%id 空闲CPU时间百分比
0.0%wa 等待I/O的CPU时间百分比
0.0%hi CPU硬中断时间百分比
0.0%si CPU软中断时间百分比
0.0%st 我不知道

第三行:

TOP界面第三行

Men 内存的意思
256412k total 物理内存总量
30156k used 使用的物理内存量
226256 free 空闲的物理内存量
8176k buffers 用作内核缓存的物理内存量
Swap 交换空间
337356k total 交换区总量
0k used 使用的交换区量
337356k free 空闲的交换区量
12160k cached 缓冲交换区总量

第四行:

top界面第四行

PID 进程的ID
USER 进程所有者
PR 进程的优先级别,越小越优先被执行
NI nice值
VIRT 进程占用的虚拟内存
RES 进程占用的物理内存
SHR 进程使用的共享内存
S 进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU 进程占用CPU的使用率
%MEM 进程使用的物理内存和总内存的百分比
TIME+ 该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND 进程启动命令名称

linux top命令操作指令

下面我列出一些常用的linux top命令操作指令:

q 退出top命令
  立即刷新
s 设置刷新时间间隔
c 显示命令完全模式
t 显示或隐藏进程和CPU状态信息
m 显示或隐藏内存状态信息
l 显示或隐藏uptime信息
f 增加或减少进程显示标志
S 累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+
P 按%CPU使用率排行
T 按MITE+排行
M 按%MEM排行
u 指定显示用户进程
r 修改进程renice值
k kill进程
i 只显示正在运行的进程
W 保存对top的设置到文件~/.toprc,下次启动将自动调用toprc文件的设置。
h 帮助命令。

评论(0) 引用(0) 浏览(53)

linux文件系统限制ulimit用法

作者:initphp 发布于:2012-4-18 12:41 Wednesday 分类:linux

#列出所有限制的配置
ulimit -a
#如下:
core file size          (blocks, -c) 0    #0为不限制
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) 1024
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024   #限制打开的文件
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

#括号中都有-f 之类的,可以通过这种参数修改
#例如修改限制用户仅能创建10M的文件
ulimit -f 10240

评论(0) 引用(0) 浏览(51)

环境变量

作者:initphp 发布于:2012-4-17 18:42 Tuesday 分类:linux

#查看默认环境变量
env

#查看所有的变量
set

#设置环境变量
export name=sadasd
变量
#全局变量
export name="asdasd"

#输入变量 p:说明 t:等待输入时间
read [-pt] val

#声明变量
declare -i val #int类型变量
declare -a val #数组变量
declare -x val #相当于export用法
declare -r val #只读

#数组用法
declare -a val
val[1]="asdasd"
val[2]="dsfdsf"
echo ${val[1]}

评论(0) 引用(0) 浏览(47)

linux c编程-进程

作者:initphp 发布于:2012-3-26 11:29 Monday 分类:c语言

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
    pid_t pid;  #进程,会生成子进程,子进程ID为0
    char *msg;
    int i;
    pid = fork(); #进程,通过ps -u 会查看到相关的2个进程,一个是主进程,一个是子进程 
    if (pid == 0) {
       msg = "this is child\n";
       i = 4;
    } else {
       msg = "this is parent\n";
       i = 2;
    }

    for (;i > 0; i--) {
       printf("%s", msg);
       sleep(1);
    }
    return 0;
}

评论(0) 引用(0) 浏览(76)

Nginx优化配置 【转】

作者:initphp 发布于:2012-3-22 23:36 Thursday 分类:linux

本文介绍了一些能够提升Nginx性能的指令和一些Linux内核优化方案,这些参数在某些生产环境中已经应用并且
达到了不错的效果(如果带宽足够,甚至可能突破十万并发),每一个网站对应的业务都应该是不同的优化方案。
这篇文档适合于搭建某些静态请求较多,并且为大并发,需要快速处理请求的广告服务器或图片服务器。
 
nginx指令中的优化(配置文件)
 
worker_processes 8;
nginx进程数,建议按照cpu数目来指定,一般为它的倍数。
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。
worker_rlimit_nofile 102400;

阅读全文>>

评论(0) 引用(0) 浏览(86)