Linux中使用dmidecode查看硬件信息
使用dmidecode可以查看系统各硬件的详细信息CPU,各级缓存,内存,板载插口等信息
如我使用dmidecode | grep -A16 “Memory Device$”查看内存信息
使用dmidecode可以查看系统各硬件的详细信息CPU,各级缓存,内存,板载插口等信息
如我使用dmidecode | grep -A16 “Memory Device$”查看内存信息
使用kde的konsole连接局域网内服务器慢,今用ssh -v 看了下,发现是
debug1: Next authentication method: gssapi-with-mic
一直等待。原来/etc/ssh/ssh_config中GSSAPIAuthentication选项被配置成yes后,会发起一个_kerberos.<hostname>的GSSAPI认证请求,这样,ssh会一直等待至GSS认证超时失败。所以等待了很久。
解决办法,将该选项置为no
GSSAPIAuthentication no
至于GSSAPI认证具体访式,有待以后研究 ![]()
sshd配置参考http://lamp.linux.gov.cn/OpenSSH/sshd_config.html
rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,
我们下面就对它的选项一一进行分析说明。
对站长来说,丢失数据又没得恢复绝对是恶梦……因此,想到将linux下的数据库和www目录自动备份,因为有win主机闲置,那就存它那了。闲话少说,现在开工:
首先给win主机安装cwrsync(基于cgwin和rsync的同步软件)
…………
memcache是一个高效快速的,以内存存取的高速缓存,其保存方式通过“键”=>“值”的方式,对key进行hash存储,因而查询速度快,避免硬盘的反复擦写,也正如此,断电或重启就得重新为它“灌”内容了。
准备工作:
1.先安装libevent,因为memcached是依赖它的
2.memcached下载与安装
# ./memcached -d -m 50 -p 11211 -u root
参数说明 -m 指定使用多少兆的缓存空间;-p 指定要监听的端口; -u 指定以哪个用户来运行
3.启动./memcached -p 11211 如果报如下错
error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
那么,注册一下libevent扩展
# vi /etc/ld.so.conf.d/libevent-i386.conf
内容为你编译生成的libevent库的路径,默认为/usr/local/lib
运行
# ldconfig
好了,这样memcachd就装好了,接下来安装php支持,可以通过phpize或静态编译方式 ,我是通过后者
下载最新版pecl memcache包解压至phpdir/ext
#rm configure
#buildconf –force 当然这个需要
#./configure –with-memcache –enable-memcache
需要注意: 要运行“buildconf”脚本,需要 autoconf ,如果没有或版 本过低就先升级它
OK,写几行试试~
<?php set_time_limit(1000); $host = 'localhost'; $memcache = new Memcache; $memcache->connect($host,11211); for($i=0;$i<100000;$i++){ /*存上10w个看看*/ $memcache->set('k'.$i,$i,false,1000); } print_r($memcache->getServerStatus($host)); print_r($memcache->getStats());//查看memcached服务状态 ?>
这里对几种常用正则grep、egrep、sed要、awk、perl、vim、javascript等差异作个总结,希望一同补充完善……
Linux统计当前目录代码行数
find . -name “*.php” -exec wc -l {} \; | awk ‘BEGIN {f=0;l=0} {f++;l=l+$1} END {printf(“total: %d files, %d lines\n”,f,l)}’
苏州归来,只有照片
我们通常使用fsockopen打开一个$fp来发送http头,请求后用feof判断是否读完来获取服务器响应的内容。
但是这使用feof时要特别注意一点,php手册上关于feof有这样一个说明:
Warning
如果服务器没有关闭由 fsockopen() 所打开的连接,feof() 会一直等待直到超时而返回 TRUE。默认的超时限制是 60 秒,可以使用 stream_set_timeout() 来改变这个值。
也就是一个打开的socket连接,没有在读完后关闭,feof会一直返回true直到超时
看如下代码:
$url = "/N_StockQuote.aspx?StockCode=002024&StockMarket=2"; $fp = fsockopen('hqdigi.eastmoney.com',80,$errno,$errstr,10); if(!$fp){ die("Network error or invalid stock code\r\n"); }elseif($error){ die("$error:$errstr\r\n"); }else{ $request = "GET $url HTTP/1.1\r\n"; $request .= "Host: hqdigi.eastmoney.com\r\n"; $request .= "Pragma: no-cache\r\n"; $request .= "Cache-Control: no-cache\r\n\r\n"; fwrite($fp,$request);//发送请求头 while(!feof($fp)){ $tmp .= fgets($fp,1024);//获取服务器返回信息 } }
运行这代码就有问题了,while进入死循环,直到超时
因此,稍作改动,请求头部最后加上Connection:close,来告诉服务器,响应完就断开
#include <mysql.h> #include <stdio.h> int main(){ char host[32] = "localhost"; char user[32] = "root"; char password[32] = "123123"; char db[32] = "wordpress"; char sql[100]; MYSQL mysql; MYSQL_RES *res; MYSQL_ROW row; mysql_init(&mysql); mysql_real_connect(&mysql,host,user,password,db,3306,NULL,0); gets(sql); mysql_query(&mysql,sql); if(mysql_errno(&mysql) > 0){ printf("%s\n",mysql_error(&mysql)); return 1; }else{ res = mysql_store_result(&mysql); } while((row = mysql_fetch_row(res))){ printf("%s\t%s\n",row[0],row[1]); } mysql_close(&mysql); return 0; }
编辑选项(还不是很清楚,待研究后补充)
-L指定库的路径,
-l指定具体的库文件。
gcc -g -o my my.c -L./ -I./ `mysql_config –cflags –libs`