常用关机有两种情况,如下所示:
一、比如你想30秒后关机,那就
shutdown -s -t 30
shutdown -s -t 后面应该跟个时间
注意后面的数字就是表示秒的意思,而且t和数字之间要有空格
例子:3320 秒后关机:
C:\Users\jackX>shutdown -s -t 3320
已经计划系统关机。(1190)
二、定确定时间关机:
Egg:
From:http://blog.csdn.net/u013553529/article/details/78140297
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\admin>at 20:00 Shutdown -s
新加了一项作业,其作业 ID = 2
C:\Users\admin>
---
Ps:注意要有一个返回才能正常关机:新加了一项作业,其作业 ID = 2。 否则看服务是否打开,见下面叙述。
shutdown -a 是取消命令。
比如你的电脑要在22:00关机,可以选择“开始→运行”,输入“at 22:00 Shutdown -s”,
这样,到了22点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工
作。如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 3600”,这里表示60
分钟后自动关机,“3600”代表60分钟。
设置好自动关机后,如果想取消的话,可以在运行中输入“shutdown -a”。另外输入
“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。
Shutdown.exe的参数,每个都具有特定的用途,执行每一个都会产生不同的效果,比如
“-s”就表示关闭本地计算机,“-a”表示取消关机操作,下面列出了更多参数,大家
可以在Shutdown.exe中按需使用。
注意:要打开“任务计划”必须先确认Task Scheduler服务已经启动(系统默认情况下是自动启动的),否则,打不开“任务计划”。
1)cmd 下输入 services.msc -->scheduler ...
2)windows图标+R 输入:services.msc -->scheduler ...
注意二:
win7 系统 关机就变成注销 自动回到登录界面:
遇到类似问题,最后得以解决:
单击“开始--运行”,输入“gpedit.msc",进入用户配置》管理模板》开始菜单和任务栏,
找到 “删除并阻止访问 ‘关机’‘重新启动’ ‘睡眠’ 和 ‘休眠’命令”
进行策略设置,改为 禁用 就行了。
一、比如你想30秒后关机,那就
shutdown -s -t 30
shutdown -s -t 后面应该跟个时间
注意后面的数字就是表示秒的意思,而且t和数字之间要有空格
例子:3320 秒后关机:
C:\Users\jackX>shutdown -s -t 3320
已经计划系统关机。(1190)
二、定确定时间关机:
Egg:
From:http://blog.csdn.net/u013553529/article/details/78140297
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\admin>at 20:00 Shutdown -s
新加了一项作业,其作业 ID = 2
C:\Users\admin>
---
Ps:注意要有一个返回才能正常关机:新加了一项作业,其作业 ID = 2。 否则看服务是否打开,见下面叙述。
shutdown -a 是取消命令。
比如你的电脑要在22:00关机,可以选择“开始→运行”,输入“at 22:00 Shutdown -s”,
这样,到了22点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工
作。如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 3600”,这里表示60
分钟后自动关机,“3600”代表60分钟。
设置好自动关机后,如果想取消的话,可以在运行中输入“shutdown -a”。另外输入
“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。
Shutdown.exe的参数,每个都具有特定的用途,执行每一个都会产生不同的效果,比如
“-s”就表示关闭本地计算机,“-a”表示取消关机操作,下面列出了更多参数,大家
可以在Shutdown.exe中按需使用。
注意:要打开“任务计划”必须先确认Task Scheduler服务已经启动(系统默认情况下是自动启动的),否则,打不开“任务计划”。
1)cmd 下输入 services.msc -->scheduler ...
2)windows图标+R 输入:services.msc -->scheduler ...
注意二:
win7 系统 关机就变成注销 自动回到登录界面:
遇到类似问题,最后得以解决:
单击“开始--运行”,输入“gpedit.msc",进入用户配置》管理模板》开始菜单和任务栏,
找到 “删除并阻止访问 ‘关机’‘重新启动’ ‘睡眠’ 和 ‘休眠’命令”
进行策略设置,改为 禁用 就行了。
想在我的博客上加上这个lazy技术,呵呵。
---
在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占了几百K的空间。Lazy Load 是一个用 JavaScript 编写的 jquery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的。
在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担,这样势必会引起速度上质的提升。
兼容:ie6/7/8, firefox 3.5.5, opera 10.10, safari 4.0.4, chrome 3.0其中safari和chrome部分功能不支持。
原文的链接在:http://www.appelsiini.net/projects/lazyload
Lazy Load jQuery 插件:http://www.a-shun.com/archives/21363.html
http://dynamiclu.iteye.com/blog/622101
---
在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占了几百K的空间。Lazy Load 是一个用 JavaScript 编写的 jquery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的。
在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担,这样势必会引起速度上质的提升。
兼容:ie6/7/8, firefox 3.5.5, opera 10.10, safari 4.0.4, chrome 3.0其中safari和chrome部分功能不支持。
原文的链接在:http://www.appelsiini.net/projects/lazyload
Lazy Load jQuery 插件:http://www.a-shun.com/archives/21363.html
http://dynamiclu.iteye.com/blog/622101
$('>div')这样写表示的是 :获取 body 标签下所有第一级子元素中的 div 元素 ,如果没有 ">",则表示的是获取页面中所有的 div 元素
prev + next和prev ~ siblings感觉都一样,好像找不出区别,朋友们帮忙用个例子帮忙解释下吧,谢谢了
呵呵,很简单的用英文都可以帮你解决。next是下一个的意思 siblings是兄弟姐妹的意思。前者是单数,后者是复数。也就是说使用+这个符号就说明选择 元素之后的一个,是一个元素,而使用~,则是选择元素之后的所有同辈元素,是之后、所有。
通过Demo理解更容易:
元素里所有后代
父元素下的子元素
这到底区别在哪儿啊:-)
----------------------------
父元素下的子元素
<div class="a"><p class ="b"></p></div>
只能取出a下的B
后代元素 就是a下的所有的 包括孙子 重孙子
也就是这个子也就是一个层级(儿子,不包孙子),而所有的后代:就是里面有儿子孙子,曾孙,那jonhsion说的这个<div>下的后代可以是<p >了是吧?
嗯,是!
参考: http://blog.sina.com.cn/s/blog_79333b2c0100xx95.html (该Url里面图来自:锋利的Jquery)
http://jqapi.com
jQuery-find和children方法:
1.children(“condition”) 获取的是一级子元素。
2.find("condition")获取包含的所有子元素。
$("#cn_list > .cn_page > .curr").children("h4").find("a").text()
$("#cn_list > .cn_page > .curr > h4").find("a").text()
prev + next和prev ~ siblings感觉都一样,好像找不出区别,朋友们帮忙用个例子帮忙解释下吧,谢谢了
呵呵,很简单的用英文都可以帮你解决。next是下一个的意思 siblings是兄弟姐妹的意思。前者是单数,后者是复数。也就是说使用+这个符号就说明选择 元素之后的一个,是一个元素,而使用~,则是选择元素之后的所有同辈元素,是之后、所有。
通过Demo理解更容易:
元素里所有后代
父元素下的子元素
这到底区别在哪儿啊:-)
----------------------------
父元素下的子元素
<div class="a"><p class ="b"></p></div>
只能取出a下的B
后代元素 就是a下的所有的 包括孙子 重孙子
也就是这个子也就是一个层级(儿子,不包孙子),而所有的后代:就是里面有儿子孙子,曾孙,那jonhsion说的这个<div>下的后代可以是<p >了是吧?
嗯,是!
参考: http://blog.sina.com.cn/s/blog_79333b2c0100xx95.html (该Url里面图来自:锋利的Jquery)
http://jqapi.com
jQuery-find和children方法:
1.children(“condition”) 获取的是一级子元素。
2.find("condition")获取包含的所有子元素。
$("#cn_list > .cn_page > .curr").children("h4").find("a").text()
$("#cn_list > .cn_page > .curr > h4").find("a").text()
Nginx 499错误的原因及解决方法
打开Nginx的access.log发现在最后一次的提交是出现了HTTP1.1 499 0 -这样的错误,在百度搜索nginx 499错误,结果都是说客户端主动断开了连接。
但经过我的测试这显然不是客户端的问题,因为使用端口+IP直接访问后端服务器不存在此问题,后来测试nginx发现如果两次提交post过快就会出现499的情况,看来是nginx认为是不安全的连接,主动拒绝了客户端的连接.
但搜索相关问题一直找不到解决方法,最后终于在google上搜索到一英文论坛上有关于此错误的解决方法。
proxy_ignore_client_abort on;
Don’t know if this is safe.
说要配置proxy_ignore_client_abort on;
意思代理服务端不要主要主动关闭客户端连接。
配置重启nginx,问题果然得到解决。只是安全方面稍有欠缺,但比总是出现找不到服务器好多了。
还有一种原因是 我后来测试发现 确实是客户端关闭了连接,或者说连接超时 ,无论你设置多少超时时间多没用 原来是php进程不够用了 改善一下php进程数 问题解决 默认测试环境才开5个子进程.
来源:http://blog.517car.com/2012/08/04/nginx-499%E9%94%99%E8%AF%AF%E7%9A%84%E5%8E%9F%E5%9B%A0%E5%8F%8A%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/
打开Nginx的access.log发现在最后一次的提交是出现了HTTP1.1 499 0 -这样的错误,在百度搜索nginx 499错误,结果都是说客户端主动断开了连接。
但经过我的测试这显然不是客户端的问题,因为使用端口+IP直接访问后端服务器不存在此问题,后来测试nginx发现如果两次提交post过快就会出现499的情况,看来是nginx认为是不安全的连接,主动拒绝了客户端的连接.
但搜索相关问题一直找不到解决方法,最后终于在google上搜索到一英文论坛上有关于此错误的解决方法。
proxy_ignore_client_abort on;
Don’t know if this is safe.
说要配置proxy_ignore_client_abort on;
意思代理服务端不要主要主动关闭客户端连接。
配置重启nginx,问题果然得到解决。只是安全方面稍有欠缺,但比总是出现找不到服务器好多了。
还有一种原因是 我后来测试发现 确实是客户端关闭了连接,或者说连接超时 ,无论你设置多少超时时间多没用 原来是php进程不够用了 改善一下php进程数 问题解决 默认测试环境才开5个子进程.
来源:http://blog.517car.com/2012/08/04/nginx-499%E9%94%99%E8%AF%AF%E7%9A%84%E5%8E%9F%E5%9B%A0%E5%8F%8A%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/
[拉起服务]linux 进程管理daemontools svscan
Unix/LinuxC技术 jackxiang 2012-11-12 13:46
daemontools是一个管理UNIX下服务的工具集。 supervise监视一个服务。它启动一个服务、当服务停掉时它会重起
服务。安装一个supervise是极其简单的,你仅仅需要一个包含运行服务
的脚本的目录。
multilog保存报错信息和一个或多个log。它可以随意的加上时
间戳,对于每个log可以设定任意一行是否符合预定样式。他可以循环的纪
录log以限制磁盘空间的使用。当磁盘空间不足时,它会停止并重试,而不
会丢弃任何信息。
mkdir /package
chmod 1755 /package
cd /package
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar zxf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
(打开src/error.h 找到:extern int errno; 改成:#include <errno.h>)
package/install
会生成自己的安装目录daemontools
同时 有/server 目录 所需要监控的放在server目录即可
卸载 将所有的直接删除即可
使用的Url:http://blog.jianingy.com/tag/daemontools/
服务。安装一个supervise是极其简单的,你仅仅需要一个包含运行服务
的脚本的目录。
multilog保存报错信息和一个或多个log。它可以随意的加上时
间戳,对于每个log可以设定任意一行是否符合预定样式。他可以循环的纪
录log以限制磁盘空间的使用。当磁盘空间不足时,它会停止并重试,而不
会丢弃任何信息。
mkdir /package
chmod 1755 /package
cd /package
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar zxf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
(打开src/error.h 找到:extern int errno; 改成:#include <errno.h>)
package/install
会生成自己的安装目录daemontools
同时 有/server 目录 所需要监控的放在server目录即可
卸载 将所有的直接删除即可
使用的Url:http://blog.jianingy.com/tag/daemontools/
背景:因为虚拟机经从一台电脑拷贝到另一台电脑时,出现了网卡问题,于是把ifcfg-eth0 -->ifcfg-eth1.后启动Ok,但是,在开机会出现:eth0: error fetching interface information: Device not found。root 用户su xiangdong时会出现:ifconfig eth1 ,eth1: error fetching interface information: Device not found
解决办法:
1.刚开始运行ifconfig eth0发现网卡不见了。
[root@localhost ~]# ifconfig eth0
eth0: error fetching interface information: Device not found //但是network-scripts里的配置文件全部是eth0的,为什么获取不到也不知道为什么?
处理解决方法只能用eth1替换eth0了,自己创建modprobe.conf文件里面alias eth0 e1000e但是不能识别。
2.[root@localhost network-scripts]# mii-tool //查看网卡连接状态
eth1: negotiated 100baseTx-FD, link ok
3.[root@localhost network-scripts]# ifconfig eth1//能发现eth1网卡
4.[root@localhost network-scripts]# mv ifcfg-eth0 ifcfg-eth1//修改eth0为eth1
5.[root@localhost network-scripts]# vi ifcfg-eth1
DEVICE=eth1//把eth1修改为eth0
ONBOOT=yes//启动激活
TYPE=Ethernet
BOOTPROTO=static//静态ip
IPADDR=192.168.xx.40
NETMASK=255.255.255.0
GATEWAY=192.168.xx.254
6.[root@localhost ~]# cd /etc/sysconfig/networking/ //进入networking目录
[root@localhost networking]# ls//里面有两个文件把里面的设备修改为ifcfg-eth1即可。
devices profiles
7.[root@localhost devices]# /etc/rc.d/init.d/network restart //重新启动network守护进程。
Shutting down interface eth1: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth1: [ OK sss]
8.[root@localhost devices]# ping www.baidu.com //最后ping 百度通了
PING www.a.shifen.com (220.181.111.148) 56(84) bytes of data.
64 bytes from 220.181.111.148: icmp_seq=1 ttl=52 time=33.1 ms
64 bytes from 220.181.111.148: icmp_seq=2 ttl=52 time=33.3 ms
64 bytes from 220.181.111.148: icmp_seq=3 ttl=52 time=33.4 ms
遇到的问题:
刚开始因为以为驱动问题,lsmod看了一下加载的驱动为e1000e,所以在 /etc/modprobe.d/里添加了modprobe.conf文件可是还是不行。
dmesg查看启动信息查看网卡信息为e1000: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
后来查看/lib/modules/2.6.32-71.el6.i686/modules.alias 添加alias eth0 e1000e 还是不行,只能用eth1代替eth0
本质上是阿里云经典的Eth0/Eth1迁移到VPC网,只有Eth0网卡导致的,可能上面的内容还搞不定?得向这个方向寻找:
cat /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:4c:90:06:83", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:4c:10:cd:ab", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
TrevorH wrote:
Look in /etc/udev/rules.d for a file called something with persistent-net-rules in it. Edit that and look at the contents - it probably contains lines for both eth0 and eth1. You should remove the lines that refer to eth0 and can also change eth1 to eth0 afterwards if you'd prefer to have eth0 rather than eth1 on your system (though it doesn't really matter what it's called so long as it works). Save that and then look in /etc/sysconfig/network-scripts for the various ifcfg-eth* files there. You'll want to remove the one for eth0. If you renamed eth1 to eth0 then you need to rename ifcfg-eth1 to ifcfg-eth0 and edit its contents as it also contains the string 'eth1' inside it.
You can verify if the MAC address found on the device is same as that present in the /etc/udev/rules.d/*-persistent-net.rules
解决办法:
1.刚开始运行ifconfig eth0发现网卡不见了。
[root@localhost ~]# ifconfig eth0
eth0: error fetching interface information: Device not found //但是network-scripts里的配置文件全部是eth0的,为什么获取不到也不知道为什么?
处理解决方法只能用eth1替换eth0了,自己创建modprobe.conf文件里面alias eth0 e1000e但是不能识别。
2.[root@localhost network-scripts]# mii-tool //查看网卡连接状态
eth1: negotiated 100baseTx-FD, link ok
3.[root@localhost network-scripts]# ifconfig eth1//能发现eth1网卡
4.[root@localhost network-scripts]# mv ifcfg-eth0 ifcfg-eth1//修改eth0为eth1
5.[root@localhost network-scripts]# vi ifcfg-eth1
DEVICE=eth1//把eth1修改为eth0
ONBOOT=yes//启动激活
TYPE=Ethernet
BOOTPROTO=static//静态ip
IPADDR=192.168.xx.40
NETMASK=255.255.255.0
GATEWAY=192.168.xx.254
6.[root@localhost ~]# cd /etc/sysconfig/networking/ //进入networking目录
[root@localhost networking]# ls//里面有两个文件把里面的设备修改为ifcfg-eth1即可。
devices profiles
7.[root@localhost devices]# /etc/rc.d/init.d/network restart //重新启动network守护进程。
Shutting down interface eth1: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth1: [ OK sss]
8.[root@localhost devices]# ping www.baidu.com //最后ping 百度通了
PING www.a.shifen.com (220.181.111.148) 56(84) bytes of data.
64 bytes from 220.181.111.148: icmp_seq=1 ttl=52 time=33.1 ms
64 bytes from 220.181.111.148: icmp_seq=2 ttl=52 time=33.3 ms
64 bytes from 220.181.111.148: icmp_seq=3 ttl=52 time=33.4 ms
遇到的问题:
刚开始因为以为驱动问题,lsmod看了一下加载的驱动为e1000e,所以在 /etc/modprobe.d/里添加了modprobe.conf文件可是还是不行。
dmesg查看启动信息查看网卡信息为e1000: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
后来查看/lib/modules/2.6.32-71.el6.i686/modules.alias 添加alias eth0 e1000e 还是不行,只能用eth1代替eth0
本质上是阿里云经典的Eth0/Eth1迁移到VPC网,只有Eth0网卡导致的,可能上面的内容还搞不定?得向这个方向寻找:
cat /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:4c:90:06:83", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:4c:10:cd:ab", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
TrevorH wrote:
Look in /etc/udev/rules.d for a file called something with persistent-net-rules in it. Edit that and look at the contents - it probably contains lines for both eth0 and eth1. You should remove the lines that refer to eth0 and can also change eth1 to eth0 afterwards if you'd prefer to have eth0 rather than eth1 on your system (though it doesn't really matter what it's called so long as it works). Save that and then look in /etc/sysconfig/network-scripts for the various ifcfg-eth* files there. You'll want to remove the one for eth0. If you renamed eth1 to eth0 then you need to rename ifcfg-eth1 to ifcfg-eth0 and edit its contents as it also contains the string 'eth1' inside it.
You can verify if the MAC address found on the device is same as that present in the /etc/udev/rules.d/*-persistent-net.rules
XHProf-php轻量级的性能分析工具
Php/Js/Shell/Go jackxiang 2012-11-7 17:59
以前在开发环境用的是xdebug,还不错,看到有一篇野马分享的《PHP性能检测扩展——XHProf》,不错,之前就有听说,这次就行动一下。
XHProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开 关来控制是否进行profile。
阅读全文
XHProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开 关来控制是否进行profile。
阅读全文
PHP新增eio扩展,可以写类似node.js一样的异步IO了。
Php/Js/Shell/Go jackxiang 2012-11-7 14:20
PHP新增eio扩展,可以写类似node.js一样的异步IO了。
可以结合libevent一起来用。libevent主要是解决了网络异步,实际上写代码是时,IO还是同步的,必须处理完请求后同步fwrite给客户端。如果IO异步的话,进程就可以马上去处理其他请求,不用等待IO操作完成。
比如接到一个网络请求,需要创建一个目录,传统的程序就直接mkdir,这里的mkdir就是同步的。必须处理完成后才会继续向下执行。
异步IO的话,eio_mkdir,里头可以填一个回调函数。这里不是同步的,所以代码马上就向下执行。当mkdir操作完成后,才会执行回调函数。
当然有些事情是必须同步的。node.js里头就有很多这样的做法。比如 db.query(sql).callback(proc),查询SQL语句,完成后回调 proc。
Url:
http://pecl.php.net/package/eio
DownLoad:http://pecl.php.net/get/eio-1.2.0.tgz
其他资料:
https://github.com/chobie/php-uv/blob/master/examples/fsevevnt.php
https://github.com/chobie/php-uv/blob/master/examples/http_server.php
可以结合libevent一起来用。libevent主要是解决了网络异步,实际上写代码是时,IO还是同步的,必须处理完请求后同步fwrite给客户端。如果IO异步的话,进程就可以马上去处理其他请求,不用等待IO操作完成。
比如接到一个网络请求,需要创建一个目录,传统的程序就直接mkdir,这里的mkdir就是同步的。必须处理完成后才会继续向下执行。
异步IO的话,eio_mkdir,里头可以填一个回调函数。这里不是同步的,所以代码马上就向下执行。当mkdir操作完成后,才会执行回调函数。
当然有些事情是必须同步的。node.js里头就有很多这样的做法。比如 db.query(sql).callback(proc),查询SQL语句,完成后回调 proc。
Url:
http://pecl.php.net/package/eio
DownLoad:http://pecl.php.net/get/eio-1.2.0.tgz
其他资料:
https://github.com/chobie/php-uv/blob/master/examples/fsevevnt.php
https://github.com/chobie/php-uv/blob/master/examples/http_server.php
昨天安了打印机后发现一个名为spoolsv.exe的进程占用了大量的CPU资源。对该文件进行了检查,发现其就是系统文件并没有被病毒替换。经过对他的计算机进行检查,发现"后台打印服务"目录(默认为C:\Windows\System32\spool\PRINTERS)下的SHD和SPL文件损坏,造成打印服务运行异常,从而出现CPU资源占用100%的现象。知道了问题的原因,解决起来就简单了,只需下面六步:
第1步:右键点击"我的电脑"选择"管理"。
第2步:点击"服务和应用程序服务"。
第3步:右键单击Print Spooler,然后单击停止。
第4步:单击"开始运行",输入%SystemRoot%\System32\spool\PRINTERS,然后单击"确定"。
第5步:删除%SystemRoot%\System32\spool\PRINTERS目录下的所有文件。
第6步:选择服务窗口,右键单击Print Spooler,然后单击"启动"。
第1步:右键点击"我的电脑"选择"管理"。
第2步:点击"服务和应用程序服务"。
第3步:右键单击Print Spooler,然后单击停止。
第4步:单击"开始运行",输入%SystemRoot%\System32\spool\PRINTERS,然后单击"确定"。
第5步:删除%SystemRoot%\System32\spool\PRINTERS目录下的所有文件。
第6步:选择服务窗口,右键单击Print Spooler,然后单击"启动"。
CentOS6.3关闭rpc服务后启动starting nfs statd failed
Unix/LinuxC技术 jackxiang 2012-11-7 10:39
Vmware下的Linux虚拟机,RPC服务不用,于是关闭了,后重启动时出现:starting nfs statd failed ,于是否,就发现了RPC和这个NFS有关,了解一下,后NFS服务也给关闭了。nfs就是这样,印象中nfs服务相关有3个进程的。
rpc**:
rpcbind
rpcgssd
rpcidmapd
rpcsvcgssd
nfsd:
nfs
nfslock
阅读全文
rpc**:
rpcbind
rpcgssd
rpcidmapd
rpcsvcgssd
nfsd:
nfs
nfslock
阅读全文
[实践Ok]用vmware安装centos,开机时卡住在启动中间的问题
Unix/LinuxC技术 jackxiang 2012-11-6 15:36
加了很多开机服务,在加入linux rabbitMQ ,用的直接对程序启动,(直接启动在添加入服务后,不进行service iptalbes start容易出现卡死的情况) 没有用service来做启动,给卡住了,怎么办?
解决方法:进入单用户模式,关掉防火墙chkconfig iptables off ,再重新启动。
怎么单用户?
---------------------------------------------------------------------------------------------------------
在grub上相应要启动的内核上按“e”。
进入下一界面,继续按“e”。
在进入文本界面后,输入“single”回车。
进入grub界面后,按“b”,即进入single模式
---------------------------------------------------------------------------------------------------------
在GRUB启动后,移动键盘到Linux的启动项;按e键;然后再移动键盘到类似下面的一行,也就是kernel的那行:
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet 把光标移动这行后,再按一下e键,进入编辑这行;在行尾条一个空格 ,然后输入 linux single
也就是类似如下的:
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet linux single
结束编辑,按回车返回;
接着我们要启动系统,按一下b键启动;
非Fedora core 4.0 可能单用户进去的时候,可能系统是只读的;要运行下面的命令;
#mount -o remount,rw /
二、如果X不能启动了,我如何才能登录机器?
把开机登录由图形登录改为文本模式登录,然后修复;
以单用户模式登录,找到 /etc/inittab文件,找到如下一行;
id:5:initdefault:
把这里的5改为3 ,也就是改成如下的:
代码:
id:3:initdefault:
解决方法:进入单用户模式,关掉防火墙chkconfig iptables off ,再重新启动。
怎么单用户?
---------------------------------------------------------------------------------------------------------
在grub上相应要启动的内核上按“e”。
进入下一界面,继续按“e”。
在进入文本界面后,输入“single”回车。
进入grub界面后,按“b”,即进入single模式
---------------------------------------------------------------------------------------------------------
在GRUB启动后,移动键盘到Linux的启动项;按e键;然后再移动键盘到类似下面的一行,也就是kernel的那行:
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet 把光标移动这行后,再按一下e键,进入编辑这行;在行尾条一个空格 ,然后输入 linux single
也就是类似如下的:
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet linux single
结束编辑,按回车返回;
接着我们要启动系统,按一下b键启动;
非Fedora core 4.0 可能单用户进去的时候,可能系统是只读的;要运行下面的命令;
#mount -o remount,rw /
二、如果X不能启动了,我如何才能登录机器?
把开机登录由图形登录改为文本模式登录,然后修复;
以单用户模式登录,找到 /etc/inittab文件,找到如下一行;
id:5:initdefault:
把这里的5改为3 ,也就是改成如下的:
代码:
id:3:initdefault:
有个哥们写了一篇文章:
http://blog.163.com/a12333a_li/blog/static/8759428520127305372366/
于是否按这位兄弟说的做了下测试,如下:
rabbitMQAddQueTest.php
rabbitMQGetTest.php
测试程序及扩展:
先执行接受程序,让其等待:php rabbitMQGetTest.php (其实先入队,后去取也没有问题的,只是为了方便看一入队就出队了:-))
后执行入队程序:
root@192.168.98.128:/data0/htdocs/tmp# php rabbitMQAddQueTest.php
0msg Yes
1msg Yes
2msg Yes
3msg Yes
4msg Yes
5msg Yes
6msg Yes
7msg Yes
8msg Yes
9msg Yes
10msg Yes
11msg Yes
12msg Yes
13msg Yes
14msg Yes
15msg Yes
16msg Yes
17msg Yes
18msg Yes
19msg Yes
查看取的程序,如下:
php rabbitMQGetTest.php
0.0msg
1.1msg
2.2msg
3.3msg
4.4msg
5.5msg
6.6msg
7.7msg
8.8msg
9.9msg
10.10msg
11.11msg
12.12msg
13.13msg
14.14msg
15.15msg
16.16msg
17.17msg
18.18msg
19.19msg
阅读全文
http://blog.163.com/a12333a_li/blog/static/8759428520127305372366/
于是否按这位兄弟说的做了下测试,如下:
rabbitMQAddQueTest.php
rabbitMQGetTest.php
测试程序及扩展:
先执行接受程序,让其等待:php rabbitMQGetTest.php (其实先入队,后去取也没有问题的,只是为了方便看一入队就出队了:-))
后执行入队程序:
root@192.168.98.128:/data0/htdocs/tmp# php rabbitMQAddQueTest.php
0msg Yes
1msg Yes
2msg Yes
3msg Yes
4msg Yes
5msg Yes
6msg Yes
7msg Yes
8msg Yes
9msg Yes
10msg Yes
11msg Yes
12msg Yes
13msg Yes
14msg Yes
15msg Yes
16msg Yes
17msg Yes
18msg Yes
19msg Yes
查看取的程序,如下:
php rabbitMQGetTest.php
0.0msg
1.1msg
2.2msg
3.3msg
4.4msg
5.5msg
6.6msg
7.7msg
8.8msg
9.9msg
10.10msg
11.11msg
12.12msg
13.13msg
14.14msg
15.15msg
16.16msg
17.17msg
18.18msg
19.19msg
阅读全文
他这个有按执行时间,有按执行次数,有按语句执行次数占总次数的百分比排序,就是特么没有按查询的时间排序的
执行时间不是查询的时间,执行时间是语句的使用了多少秒,而查询时间是哪月哪天,的什么时间进行了这次慢查询
阅读全文
通过消息队列确实是一个PHP和C进行通讯的除开共享内存外的一个好方法,如下:
msg.php
msg_write.php
msg.c
转自:http://blog.csdn.net/leinchu/article/details/8141665
msg.php
msg_write.php
msg.c
转自:http://blog.csdn.net/leinchu/article/details/8141665
Firefox中设置cookie启用:
http://www.beijibear.com/index.php?aid=107