- 博客(100)
- 资源 (1)
- 收藏
- 关注
原创 daemon
linux下常见的服务名带d结尾的:inetd、httpd、等都是守护进程,d字符表示daemon。普通进程的控制端依赖:每一个从某终端开始的进程都会依赖这个终端,也就是这个进程的控制端。当控制端被关闭时候进程一般也会被关闭。daemon进程编写步骤: 1:创建一个子进程,同事关闭父进程。该子进程就会变成init进程的子进程。 2:调用setsid创建一个新
2014-05-27 11:26:23 677
原创 计划任务
计划任务:目录在/etc/cron***下 crontab 是计划任务执行的脚本 cron.daily 是按日动作 cron.weekly 是按周动作 cron.hourly 是按小时动作 cron.monthly 是按月动作crontab:下面包括: 1:日志统计分析数据的更新,每天更新一次(awstats_
2014-05-27 10:38:26 682
转载 Ulimit
系统可用的文件描述符最多是多少?各个系统不同,【总数】定义在:/proc/sys/fs/file-max文件中。【当前使用量】定义在:/proc/sys/fs/ile-nr文件中。ulimit是针对每个进程的资源限制ulimit [-SHacdefilmnpqstuvx] [size]S、H:分别是软限制和硬限制core file size (
2014-05-27 10:36:02 708
原创 malloc上栽的跟头
char *src_uid = NULL, *desc_uid = NULL;parse_sduid_str(uid_s, &src_uid, &des_uid);int parse_sduid_str(const char *uid_s, char **src_uid, char **des_uid){ int i = 1; int j
2014-05-27 10:34:23 713
原创 mysql最大并发量测试
并发是指同一时刻有多少个请求在数据库上跑;这个数据跟硬件配置有关也跟所做操作和服务配置有关:如果单指查询,那么同环境下有索引的查询一定比没索引的查询并发量小;如果单指写入,那么同环境下有索引或者触发器的写入一定会比没有这些的并发量小;网上有业内人士说并发量在500-1000,后面我想做一次测试看看到底是什么数据。下面是我写的一个简单脚本(环境不干净没怎么测试,啥时候重装
2014-05-27 10:32:02 26241 1
原创 主从-分表数据库优化思想
作为了解需要知道主从服务器的模型的:今天想了这个问题:我做的模块不需要查询只是insert和update.而search操作由其他模块做。那么我想提高写入的性能又不影响查询的性能,怎么办。。。于是想到之前做过的Handlersock插件来做些提升。myisam的查询性能比innodb性能好:不支持事物操作innodb的写入要比myisam性能好:支持事物;无索引(事物:一连
2014-05-27 10:29:58 974
转载 PHP中this,self,parent的区别
{一}PHP中this,self,parent的区别之一this篇 面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能。利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的。PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比PHP4有
2014-03-13 17:21:28 508
转载 C的信号机制
【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数的安装、信号的发送、屏蔽阻塞等,最后给了几个简单的应用实例。 【关键字】软中断信号,signal,sigaction,kil
2014-01-21 18:00:12 617
转载 段错误
testseg[24850]: segfault at 0000000000000000 rip 0000000000400470 rsp 0000007fbffff8a0 error 6 这种信息一般都是由内存访问越界造成的,不管是用户态程序还是内核态程序访问越界都会出core, 并在系统日志里面输出一条这样的信息。这条信息的前面分别是访问越界的程序名,进程ID号,访问越界
2014-01-06 16:01:34 603
转载 mysql优化
人们工作有压力,MySQL数据库同样也有工作压力。当使用MySQL数据库的网站访问量越来越大的时候,它的压力也会越来越大,那么如何给MySQL数据库减压呢?那就是优化! 单机MySQL的优化有三种方法。分别是:一、服务器物理硬件的优化;二、MySQL安装时的编译优化;三、自身配置文件my.cnf的优化。一、服务器物理硬件的优化1、磁盘寻道能力(磁盘I/O) 是制约MySQL性
2013-12-19 10:35:03 647
原创 shell常用到的基础语法
1:写一个循环发邮件的小脚本测试用i=0while(($i do ./deliver -d a1@a.com -f a2@a.com let "i=i+1" //加法let 不支持i++done
2013-11-13 10:34:51 897
转载 linux下创建和删除软、硬链接
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symb
2013-11-04 09:49:12 514
转载 supervise进程监控工具
一、学习的原因: 为了实现在tomcat服务异常停止运行后,有一个监控程序能监控到它,并自动重新启动这个tomcat。二、工具supervise Daemontools是一个包含了很多管理Unix服务的工具的软件包。其中最核心的工具是supervise,它的功能是监控一个指定的服务,当该服务进程消亡,则重新启动该进程。而要添加让supervise监控的服务非常容易,
2013-09-04 17:25:23 1937
原创 修改文件权限
1:修改文件所属组群:chgrp>lldrwx------+ 10 root root 4096 9月 4 15:08 a1drwx------+ 10 root root 4096 9月 4 15:54 a2>chgrp nsmail a1 -R>chgrp nsmail a2 -R>lldrwx------+ 10 root nsmail 4096 9月 4 15:
2013-09-04 15:23:12 738
原创 sysexits.h/errno表
系统退出码 postfix大部分会接受并识别 在程序退出时exit(退出码) postfix会根据接受到的 错误码产生相应退信
2013-08-02 08:35:16 1221
转载 shell判断文件是否存在
1. shell判断文件,目录是否存在或者具有权限 2. #!/bin/sh 3. 4. myPath="/var/log/httpd/" 5. myFile="/var /log/httpd/access.log" 6. 7. # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 8. if [ ! -x "$myPath"]; then 9. m
2013-07-24 13:22:37 684
转载 rpm命令
1:rpm -ivh dovecot-* 安装所有dovecot-的rpm安装包2:-ivh:安装显示安装进度--install--verbose--hash-Uvh:升级软件包--Update;-qpl:列出RPM软件包内的文件信息[Query Package list];-qpi:列出RPM软件包的描述信息[Query Package install package
2013-07-23 12:18:36 686
原创 postfix相关命令
1:postcat -q queueid //查看该邮件是不是成功发出去了 一般是在smtp手动发送时候可以查看2:postqueue -p //查看postfix留在队列中的邮件
2013-07-02 11:32:13 880
原创 mysql索引视图触发器
这段时间开会讨论数据访问时间优化的瓶颈和方案,邮件访问操作还是有点慢尽可能再优化,我们组新来的大牛测试和mysql之间的数据交互时间长可以继续优化,猜测当初的mysql设计貌似只考虑了前端开发方便而忽略了后台的性能,这里提到了些mysql的 索引设计、视图、触发器 听得我值犯迷糊 今天把这些东西补一补 以后就可以听懂了:索引的设计和应用:为test表创建一个4字节的前缀索引:create
2013-06-13 16:47:52 738
转载 ctags的应用
大牛说搞linux不用linux看代码可不行 于是便学了ctags 就总结一下常用的命令:看一个项目代码 进入该项目主目录: cd ~/rpmbuild/BUILD/srcname/> ctags -R (ctags -R . /usr/include/ 这样的话 当前定义和系统调用都能找的到)把函数、宏、全局变量等等关联起来 类似于source insight加载项
2013-06-07 16:44:21 787
转载 D盘里多了amd64和i386两个文件夹,删不掉 怎么办
到文件夹选项里的“使用简单文件共享”勾去掉,再看这个文件夹属性,把自己的用户名加到权限里面,然后选择为全部允许,就可以删除了。然后再把勾勾上就OK了。
2013-06-07 14:31:35 6992
原创 mysql存储引擎和数据导出(入)
存储引擎:1:查看支持格式show variables like 'table_type';show engines \G;create table test(id int(255) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id) ) engine=myisam default charset=gbk; 创建一个存数引擎是myisam的表 (e
2013-06-07 11:17:55 655
翻译 JSON格式说明
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of theJavaSc
2013-06-06 14:41:43 632
原创 mysql数据库基础操作
DDL:1:创建库/删除库create database test; drop database test;2:创建表/删除表:create table test (id int(255) NOT NULL AUTO_INCREMENT PRIMARY KEY, name varchar(100) NOT NULL, password varchar(255) , friends
2013-06-05 19:42:15 670
原创 queue.c
#include #include #include #define ERR -1#define SUC 0#ifdef LINK_QUEUEtypedef struct Node{ unsigned int num; struct Node *next;}Node_S;typedef struct Point{ Node_
2013-06-05 16:21:07 675
转载 github简单教程
原文:http://blog.csdn.net/yang3wei/article/details/78673681、Git的结构Git的结构和传统SVN不一样:(1)三种状态:Change, Staged, Commited。Change不用说了,你改动了一个,然后没有调用任何git命令,就是这种状态。之后,需要先Stage(声明)这个文件改动了,然后进入Staged状
2013-06-05 09:41:35 627
原创 mysql.c
#include #include #include #include //函数调用头文件#include //全局函数的声明以及标准IO的头文件int main(){ MYSQL *conn;//打印mysqlclient 版本号 printf("MYSQL client version:%s\n", mysql_get_client_i
2013-05-30 19:11:10 635
转载 mysql-C-API常用函数
关于返回值:返回值的函数通常会返回指针或整数。除非作了其他规定,返回指针的函数将返回非Null值,以指明成功,或返回NULL值以指明出错。返回整数的函数将返回0以指明成功,或返回非0值以指明出错。注意,非0值仅表明这点。除非在函数描述中作了其他说明,不要对非0值进行测试:if (result) /* correct */ 正确做法 ... er
2013-05-30 18:57:04 631
转载 mysql的C-API交互实现流程
步骤:1. 通过调用mysql_library_init(),初始化MySQL库。库可以是mysqlclient C客户端库,或mysqld嵌入式服务器库,具体情况取决于应用程序是否与“-libmysqlclient”或“-libmysqld”标志链接。2. 通过调用mysql_init()初始化连接处理程序,并通过调用mysql_real_connect()连接到服务器。
2013-05-30 15:03:07 830
转载 mysql的C-API交互函数与类型表
C API数据类型MYSQL 该结构代表1个数据库连接的句柄。几乎所有的MySQL函数均使用它。不应尝试拷贝MYSQL结构。不保证这类拷贝结果会有用。MYSQL_RES 该结构代表返回行的查询结果(SELECT, SHOW, DESCRIBE,EXPLAIN)。在本节的剩余部分,将查询返回的信息称为“结果集”。MYSQL_ROW 这是1行数据的“类型安全
2013-05-30 14:28:16 1068
原创 C的mysql交互设计模式
C与mysql交互的一个问题是:如果“循环”插入或者更新等操作失败 那么C后台一般不会随意down掉 所以“循环”继续 ,那么错误就会不断的被提示,这样记录出错的信息就会被丢弃:如果是大用户数据流时候损失不容忽视,此时会有这样的设计模型:一旦出错 将报错信息保留到log文件中并且将要处理的数据一同记录到别的地方, 另起一个进程来监听这个日志 一旦有报错 立即启动应急措施并恢复因报错而
2013-05-30 14:19:34 1037
原创 mysql.h:没有文件或目录
1:mysql.h:没有那个文件或者目录原:#include 修改后:#include 或者#include 因为:/usr/inlcude/是gcc默认搜寻头文件的一个路径 而/include下有一个mysql目录名与mysql.h命名空间相同,系统不再向下查询。 即如果mysql目录不叫mysql 叫mysqlnew也不会出现这样的情况,所以在mysql.h前面要加上mysql/
2013-05-30 10:44:26 5933
原创 select.pl
#! /usr/bin/perl#use strict;use DBI;use DBI::DBDopen TMP,">>111";my @row;my $sql = "";my $conn = "";$conn = DBI->connect("DBI:mysql:database=lyytest:host=127.0.0.1","root","123456",{
2013-05-29 18:05:59 599
转载 perl DBI 总结
最近在写perl程序进行数据的采集,perl教程在网上少的可怜呐,至少我找到的资料是很少的。在连接数据库方面下面这个博客写的还是很清晰的,所以就转过来了。源文地址:http://blog.csdn.net/like_zhz/article/details/5441946DBI和DBD的不同关系模型:############################################
2013-05-29 16:55:40 819
原创 Can't local object method "fetchrow_array" via package "DBI::db"
1:Can't local object method "fetchrow_array" via package "DBI::db"这个问题让我纠结了很久很久很久很久 我很郁闷 到现在 谁能帮我解决一下!!!原因:我把变量写错了:$sql = $conn->prepare("select * from sendinfo");$sql->execute();while(@row
2013-05-29 16:53:54 1091
转载 ps命令用法
原文:http://blog.csdn.net/JsuFcz/article/details/5044932 ps aux显示其他用户启动的进程(a)查看系统中属于自己的进程(x)启动这个进程的用户和它启动的时间(u) 使用“date -s”命令来修改系统时间比如将系统时间设定成1996年6月10日的命令如下。#date -s 06/10/96将系统时
2013-05-27 17:22:36 637
转载 一个Linux下C线程池的实现
原文:http://hi.baidu.com/boahegcrmdghots/item/f3ca1a3c2d47fcc52e8ec2e1什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。
2013-05-27 16:59:08 516
转载 负载均衡
原文转载:http://blog.chinaunix.net/uid-26548237-id-3363911.html作者:gfree.wind@gmail.com博客:blog.focus-linux.net linuxfocus.blog.chinaunix.net 微博:weibo.com/glinuxerQQ技术群:4367710 本文的copyleft归gfr
2013-05-27 16:38:18 748
转载 C的static作用
静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。 静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其他文件中不可见。 用法1:函数内声明的static变量,可作为对象间的一种通信机制 如果一局部变量被声明为static,那么将只有唯一的一个静态分配对象,它被用于在该函数的所有调用中表示这个变量。这个对象将
2013-05-27 16:32:57 577
memcache源码分析
2013-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人