2006年4月26日星期三

使用nohup让程序在远程主机后台运行

  因为我购买的一个国外主机居然开放了Telnet权限,因此我也使用Telnet登录上去玩玩Linux,但发现一关闭窗口就自动和主机断开了,和Windows的终端不一样,所以就上网找啊找,找到了一个从后台一直运行某个程序的方法。

  Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台:

  /usr/local/mysql/bin/mysqld_safe --user=mysql &

  但是加入我们很多程序并不象mysqld一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用 & 结尾,但是如果终端关闭,那么程序也会被关闭。但是为了能够后台运行,那么我们就可以使用nohup这个命令,比如我们有个test.php需要在后台运行,并且希望在后台能够定期运行,那么就使用nohup:

  nohup /root/test.php &

  提示:

  [~]$ appending output to nohup.out

  嗯,证明运行成功,同时把程序运行的输出信息放到当前目录的 nohup.out 文件中去。

  附:nohup命令参考

  nohup 命令

  用途:不挂断地运行命令。

  语法:nohup Command [ Arg ... ] [ & ]

  描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

  无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。

  退出状态:该命令返回下列出口值:

  126 可以查找但不能调用 Command 参数指定的命令。

  127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。

  否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。

  nohup命令及其输出文件

  nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。

  该命令的一般形式为:nohup command &

  使用nohup命令提交作业

  如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:

  nohup command > myout.file 2>&1 &

  在上面的例子中,输出被重定向到myout.file文件中。

  使用 jobs 查看任务。

  使用 fg %n 关闭。

  另外有两个常用的ftp工具ncftpget和ncftpput,可以实现后台的ftp上传和下载,这样我就可以利用这些命令在后台上传和下载文件了。

2006年4月24日星期一

绿色上网开始电话推销了

  今天,电信局的客服突然打电话给我,来推销他们的绿色上网。

  我一开始还以为接到什么传销的电话呢?推销员说什么我的电话被抽奖选中,可以免费使用一个月的所谓绿色上网服务,我问她哪里的,她说是电信局的,然后她给我介绍说:“绿色上网是电信运营商推出的一项互联网增值业务,为用户提供互联网内容过滤服务,家长可以限制小孩的上网浏览范围和上网时间,防止小孩接触到互联网上的各种黄色、暴力、反动等有害信息,让小孩在一片安全、纯净的网络天空下健康成长。”

  我感觉“绿色上网”听起来挺耳熟的,然后忽然想起来了,我以前浏览自己的博客网站时候,明明上面没有放弹出广告,可是却经常莫名其妙地弹出一个广告窗口,那个广告不就是“绿色上网”吗?哈哈,我正因为找不到电信的人投诉而郁闷呢,现在正好送上门来了,于是我义正严词地将电信的“绿色上网”痛骂了一通,感觉很爽啊,骂够了,就毫不客气地拒绝了他们的推销请求。

  我想那个客服小姐可能也很郁闷,她其实也未必知道他们电信在网上搞的那么多恶心的事情,因此可能也莫名其妙。我对电信局乱弹广告的反感,已经使得我对他们的所有产品产生了反感,这点可能也是电信局所想不到的。

2006年4月21日星期五

百度百科正式亮相

  百度百科终于在大家的关注之下正式亮相了。

  4月20日下午7点,我在百度的个人消息中心收到一个消息,内容如下:

  “百度百科正式上线!http://baike.baidu.com!大家快去编辑自己所喜欢词条吧,不要让别人抢先哦:)贴吧用户可通过下面的页面到百科编辑词条,不但可以争取到积分,还有机会获得2006年贴吧限量版熊掌靠垫系列。”

  看来我关注很久的百度百科终于上线了,我随即打开百度百科的地址进去看看。

  果然,百度百科已经上线了,使用我原先的百度知道的用户用即可登录,登录后还显示我的积分,看来百度百科和百度知道是共用一套积分的。

百度百科

  百度百科使用的是PHP开发的,初步试用,感觉功能较为单薄,但的确非常易用,操作也很简明,整个系统看来是百度自己独立开发的,并没有使用强大的维基百科的公用源代码,大概是害怕侵权吧。

  百度百科刚刚上线几个小时,已经建立了2992个词条,看来百度百科还是有点前车之鉴,没有明目张胆地去复制维基百科的条目。

  百度百科发布条目需要人工审核后才能显示出来,这个和维基百科不同,维基百科的条目是编辑后立刻就可以显示的,显然维基百科的灵活性更大一些,百度百科发布的条目都要经过人工审核,审核人显然是百度自己的员工,而维基百科大量的管理员都是业余的志愿者。

  我以前所关注的百度百科的问题,终于也有了答案。

  关于知识产权的问题,和我预料的完全一样,百度百科在知识产权上属于睁一只眼、闭一只眼的状况,我随便翻看了一些条目,大量的文字显然都是转贴而并非作者原创,例如百度百科首页的“青海湖”条目,在另外一个地址也有一个和它文字一模一样的页面,显然此条目是转载其他网址而并非作者原创的,类似的转贴条目在百度百科里比比皆是,这种类型的条目在维基百科中肯定会被管理员删除的,因为侵犯了他人的知识产权,而在百度百科中就被推荐在首页,可见百度百科对于版权的态度。  

  条目发布成功后,会得到一定的积分奖励,个人等级还会逐步提高,百度在帮助里并没有提到不允许转贴别人的文章,看来百度百科即将掀起又一阵转贴狂潮了,各位Blogger同学们可要看好自家的后院啊,百度的流氓们可要来偷文章来啦。

  关于条目版权可能引起的法律问题,百度在其帮助中提到:“由于用户的相关帖子引起的任何知识产权纠纷,其责任在于用户本人,与百度百科无关”。看来如果碰上侵权的官司,百度会把责任全部推在用户身上。

  其实,即使百度公司自己来打处理版权问题,那又有什么好害怕的呢?连非法提供MP3搜索都做的出来,还要厚着脸皮和唱片公司打官司,百度百科偷别人一些文字创作,那不更是小儿科吗,反正百度的律师多的是,打这种版权官司也应该是“经验丰富、轻车熟路”了。

  关于条目的中立性,至少我目前看到的关于“百度”自己的条目就不符合中立性原则,关于百度的负面消息一个也没有,对于百度自己的条目则是夸大其词,自卖自夸。和维基百科上关于“百度”的条目形成鲜明的对比。由一家商业公司来管理一个公益性质的百科全书是否可行,百度百科的尝试会在将来给出我们一个答案。

  后记:我在百度百科建立的第一个条目超级搜霸也被审核通过了,属于百分之百原创,其实从条目的文字描述上可以探测出百度中立性的低线。

  百度百科的第一个条目是关于自己的介绍,内容如下:

  百度百科,一部开放的网络百科全书,每个人都可以自由访问并参与撰写和编辑,分享及奉献自己所知的知识,所有人将其共同编写成一部完整的百科全书,并使其不断更新完善。

  百度百科使用基于WEB2.0基础上的WIKI服务来进行正常运作。

  百度百科本着平等、协作、分享的互联网精神,提倡网络面前人人平等,所有人共同协作编写百科全书,让知识在一定的技术规则和文化脉络下得以不断组合和拓展;它为用户提供了一个创造性的网络平台,强调用户的参与和奉献精神,充分调动草根大众的力量,汇聚上亿网民的头脑智慧,积极进行交流和分享,同时实现与搜索引擎的完美结合,从不同的层次上满足用户对信息的需求。

  用户使用百度百科,可以进行自主学习增长见识,也可以参与编写分享智慧,将头脑中的的隐性知识重新组织,不断累积成全人类共同的开放知识库;百度百科与百度贴吧、百度知道三位一体的服务,共同构筑了一个完整的知识搜索体系,成为网页搜索的有益补充,可以更好地提升用户的搜索体验。

2006年4月20日星期四

丧心病狂-ATM自助银行惨案

  我一直以为深圳广州的治安已经很差了,而长三角地区的治安应该很好,直到我在网上看到了这么一个可怕的帖子。

  我是从同事转发给我的邮件中看到这么一个帖子的,说在宁波一个ATM取款机发生凶杀案,几天前,在下午七点钟,劫匪向取款机前的取款人连刺九刀,杀死人后进行抢劫,整个过程被银行的监控器拍摄下来,案发四十小时后,歹徒在苏州被警察抓获。

  看到这个帖子,我的第一感觉是,这是谣言吧?因为逻辑上根本无法解释的通,从常理上看也是不可思议的。

  首先,在银行的监控器下行凶杀人,只是为了抢钱,而且附近还可能有银行的保安人员,这样明目张胆地行凶难道不怕被抓,不怕死吗。

  其次,即使为了抢钱,也不至于先杀人吧,杀人和抢劫在量刑上可绝对不是一个尺度的。

  再次,七点钟就行凶杀人,是不是太早了一点,天还没黑呢,很容易被人发现的。

  最后,长江三角洲的治安一向是不错的,至少应该比深圳好啊,很少听说过这么丧心病狂的抢劫凶杀,怎么可能发生这样不可思议的凶杀案呢。

  然而,帖子后面有一个视频链接地址,我打开后,发现是杭州电视台的一段新闻,和帖子上说的内容一模一样,监控录像中歹徒行凶的画面被一丝不漏地拍摄了下来。

  可以说,我真被这段真实的录像吓了。我不敢相信自己的眼睛,不敢相信这竟然不是虚构的谣言,而是千真万确的事实,这实在太不可思议,被害人的尸体以及歹徒行凶的画面都血淋淋地展现在我的面前。事实将我的推断全部推翻了,看似不可能的事情,竟然实实在在地发生了,面对这个颠倒黑白的社会,任何理性的思考和推断都是靠不住的。

  这个案件实在太恶劣了,歹徒行凶是那么地肆无忌惮、穷凶极恶,被害人居然连一点生存的机会都没有,歹徒的凶残和毫无理性令人震惊,为什么要在抢劫前先取人的性命呢,难道这个人的性命用钱都无法收买吗?现在已经讲不了什么人性和人权了,为什么这些歹徒眼力连一些最基本的道德观是非观都没有呢?我们的法律为什么连一点威慑力和公信力都没有呢?我们的社会治安为什么乱成了这个样子呢?

  生活在这个国度是可悲的,那个被害人死的真是太冤枉了,现在的社会就是弱肉强食的社会,我们的媒体总是在宣传什么八荣八耻、文明上网,可耻啊!一个连这么荒唐的凶杀抢劫都可以发生的地方,还讲什么狗屁文明上网呢!不要在蒙敝人民了,教一下人民如何自卫,如何保护自己,如何对付那些连死都不怕的歹徒吧。保障我们能在这个可怕的社会上生存下来,才是这个政府的首要任务。

  这是一个什么样的时代?这是最好的时代,也是最坏的时代,我看不到未来,也看不到希望。

  视频地址:http://www.tvix.cn/play.php?v=YNgQCEz8rtX

  参考帖子:ATM自动银行惨案,发人深思!你准备好了吗?

  惊!才晚上7点多,歹徒就敢如此嚣张,这不是给我们狠狠地敲响了警钟吗?!一般人的惯性思维是认为夜深才会有夺命歹徒出没(请注意是“夺命”),尤其是在自动银行这样人流量不算少的公共地方。这个视频我反复看了10遍。心想,当时如果换成是我在场取钱,估计也是死路一条。歹徒从抱住受害人——推到墙角——捅刀子,这个过程只有3秒钟。3秒钟就要了一个人的命!

  用现在比较时髦的一个词来说,就是歹徒和取钱人的信息“不对称”。歹徒目的非常明确:用刀捅死你!而那个取钱人感觉是:这个人可能(只是可能还不明确)想抢钱?根本不知道是自己会被杀。所以他做出的行为是:输错密码让卡被吞(目的是让歹徒抢不到钱)。这其实是一厢情愿的做法,当吐出纸条时,歹徒抱他,他心中可能还舒了一小口气,认为你这下拿不到钱了,你还能怎样?打就打,我怕你啊!但是他想错了,歹徒直接要的是他的命!就这么直接干脆迅速。从回放镜头看,歹徒抱住他,他一回身打了一记右摆拳,但打空了被歹徒卡住脖子迅速推到墙壁,然后就是大力捅刀子,直接致命。令人震撼的3秒钟啊!令人唏嘘不已的3秒钟啊!

  他到死可能都没弄明白,为什么会这样?会这么快就被捅死?这就是信息不对称的结果。我想,如果时光能倒退回去,让受害人从头再做一次,他肯定不会这么处理。我想他一定不会把卡插进去,肯定会走到一旁,示意让歹徒先取款,说自己在等人。我想这种情况下,歹徒一般不会拔出刀行凶,因为抢钱的目的没达到。然后在电话里说你到了吗,对,就这个自动银行,你在对面啊,好,我出来接你之类的,然后走出去。(大家说这个办法好吗?)

  如果已经把卡插进去了,怎么办,是不是应该重重拍一下取款机台说:他妈的,取款机又没钱,然后迅速回头跟歹徒说,操他吗的,真衰!就这么看着歹徒的眼睛果断走出门去。我想歹徒在短短的时间内也难判断是否该拦住他,还是捅他?因为没钱啊!对吧。

  假设最坏的结果是,歹徒不管有没钱,都掏出刀子捅,那就看你造化了,你不可能再像那位仁兄一样,只是推推搡搡,不痛不痒的迎击,等着被捅死。你肯定会奋尽全力一搏,比如用腿狠揣歹徒腹部或其下身,阻击他不让靠近,一边伺机开门逃出去。这时候为了命,你什么都做的出,因为你已经知道不是生就是死!死死盯住他的持刀那只手,找准机会抓住其手臂,然后用头猛撞歹徒的面部,用牙咬他的鼻子或耳朵,用另一只手抠他的眼珠子,我想这时候用什么招都行,关键要实用(就是迅速让歹徒失去战斗力)!

  非常惋惜那位受害人,如果时光倒退一点点,歹徒抱住他的腰,我想正确的做法应该是迅速回身(他做到了),关键是要紧紧抓住歹徒的双手腕(他没做到),目的是让他捅不了刀子,然后用额头猛烈撞击歹徒鼻子,狠咬歹徒的脸肉,受害人死就死在他以为只是一般的打斗,不知是要他的命!这个案例给我们很大的启示:

  1、尽量不在夜间取款。2、要取就到人多的地方取。3、碰到有可疑的人在身后,迅速离开,不要取款。4、如果在取款的时候突然有人抱住你,你只能尽全力一搏了,撕咬、踢裆、头撞、背摔,看你造化了。

  我非常憎恨这个穷凶极恶的歹徒,为受害人感到无比悲伤,这是一个活生生的例子,每个人都有可能碰到,不是你死就是歹徒死,当你面对这种险情时,你准备好了吗?
 

2006年4月19日星期三

PHP读MYSQL中文乱码的解决方法

  打算切换某个网站的主机,没想到遇到Php和Mysql中文乱码的问题。

  以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。

  只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:

$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");

2006年4月18日星期二

Windows IIS下论坛静态化分析

  这两天研究Discuz 4.1,并成功地将原来一个Discuz 2.5的论坛升级到了最新版本,个人感觉这个论坛实在不错。

  我的Discuz 4.1是在Apache+Php+Mysql下运行的,并开启了Url Rewrite,之后我发现整个论坛的大部分页面都可以使用html的静态地址方式来访问,感觉真不错,Apache实在太强大了,难怪现在用Apache的站点那么多。

  IIS下能否也实现这种静态化功能呢,我知道Helicon开发了一个叫ISAPI_Rewrite的ISAPI程序,可以在IIS下实现Url Rewrite功能,不过我自己还没有尝试过,过两天按照下面的操作测试一下看看效果如何。另外,下文Discuz提供的ZIP文件里的Rewrite.dll实际上就是Helicon的ISAPI_Rewrite程序,我对Discuz做为软件开发商居然也盗版同行的软件感到遗憾。

  参考文章:Discuz!4.1.0 IIS Rewrite配置方法(转自DISCUZ会员区)

  Discuz! URL静态化功能受到论坛所在服务器环境的制约,在开启此功能之前,请根据你的Web服务器环境,选择相应的环境配置方法,以下提供的iis6下的服务器配置..其它服务器(如apache,zeus)你可以根据原理自行配置。

  1、下载IIS Rewrite模块:http://download.discuz.net/4.1.0/discuz_iis_rewrite.zip

  2、将压缩包解压到任意目录,(如:C:Rewrite)。然后打开“控制面板”-“管理工具”-“IIS信息服务管理器”-“网站”-“您的站点”-“属性”。在“ISAPI筛选器”项点击“添加”,筛选器名称填入Rewrite,可执行文件为C:RewriteRewrite.dll;

  3、重新启动IIS就可以生效了。

  通过上述配置后,您就可以在Discuz!4.1.0后台中根据需要开启影响的静态功能了。

  无:不启用URL静态化功能。

  Discuz!Archiver静态化:当论坛启用Archiver功能时,Archiver内的所有链接均采用*.html形式。

  普通页面静态化:对论坛常用页面(如forumdisplay.php、viewthread.php、viewpro.php等)进行URL静态化转换。

  Archiver和普通页面均静态化:对Archiver以及论坛常用页面(如forumdisplay.php、viewthread.php、viewpro.php等)进行URL静态化转换。

  使用注意事项:

  您可以通过系统设置中Discuz!选项来控制URL静态化的打开或关闭及其工作状态,本功能对服务器环境有特殊要求,独立主机用户需要对Web服务器增加相应的Rewrite规则,因此需要服务器权限才可使用;对于虚拟主机用户,您需要向您的空间服务商进行咨询:空间是否支持Rewrite以及是否支持对站点目录中.htaccess的文件解析,只有满足这两条件,URL静态化功能才会生效。打开URL静态化后,论坛一些常用链接会变成类似discuz/forum-1-1.html形式,如果您的服务器环境不支持或者尚未配置好,访问这些链接会出现“网页无法显示”的错误信息,论坛将无法正常访问。发生无法访问的现象时,请您进入管理后台,关闭URL静态化功能,论坛即可恢复正常状态。

  本文提供的压缩包中还有一个httpd.ini文件,该文件是rewrite规则的配置文件。内容如下(无需修改):

[ISAPI_Rewrite]
# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule ^(.*)/archiver/([a-z0-9-]+.html)$ $1/archiver/index.php?$2
RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$$1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
RewriteRule ^(.*)/profile-(username|uid)-(.+).html$ $1/viewpro.php?$2=$3

2006年4月17日星期一

深圳治安的现实和思考

  每一个深圳人都有被偷的经历,对于深圳的治安,深圳人却大多有苦难言,甚至感到绝望。

  我自己做为一个深圳人最近就有切身体会,昨天下午我的太太带着儿子去南山岁宝百货购物,晚上和另外一个女伴在南山岁宝下面的肯德基吃饭,却不料在肯德基中被盗窃团伙偷的身无分文。

  当时我太太和那个女伴将提包放在座位上,吃饭的时候也一直注意着提包,这时一个男人带着一个小孩过来,说我们的孩子把他小孩的手弄伤了,然后和我太太纠缠,以转移她们的注意力,只几秒钟功夫,我太太和那个女伴的提包就趁她们不注意的时候被偷走了。

  由于岁宝的那个肯德基没有监控录像,门口也没有保安,因此她们发现被偷后一点办法都没有,她们的损失非常惨重,两人的手机、数码相机、身份证、IC卡、银行卡、信用卡、钥匙等等全部丢失,两人一共损失了数千元,当时我太太打电话给我时候,我真吃了一惊,赶快打电话将信用卡和银行卡挂失了,否则信用卡不用密码就可以刷一万多,那损失更大了。

  可悲啊,在一个连吃饭都不安全的城市里生活是一种什么样的悲哀啊。而肯德基做为一家外资企业,怎么可以连顾客安全就餐都不能保证吗?只知道赚钱吗?

  以前大街上新疆小偷多,这没办法,我们深圳人在大街上走都是眼观六路,耳听八方的,见了新疆人模样的都远远地躲避,香港的游客也是一到深圳,就立刻把背包全部背在前面,在深圳,后面背个背包满街走是个非常危险的举动。但是,如果连在肯德基吃饭也变成危险的举动的话,那么这个社会的治安就已经濒于崩溃了。

  深圳的治安为什么会这么差,我想主要原因是这个社会贫富差距悬殊、两级分化严重所造成的。

  任何一种人生道路的选择都是一种经过反复计算后的理性选择。选择打工与选择偷盗都有它的理由与成本核算。打工的收益与风险与偷盗的收益与风险经过比较后,如让人觉得更合算,那么,选择偷盗而不选择打工就是一种更好的选择。

  一个没有什么文化的人在深圳几乎没有半点立足之地,如果他们去“血汗工厂”做劳工,一个月只有600-800元,而如果他们去偷窃,一天至少也有几百元,有时可以有上千元,钱来的太快,如果偷盗被抓的几率不是很高,被抓住后所受的惩罚不是很重的话,那么,选择偷盗而不是打工就是一种理性的选择了!就建设和谐社会而言,我们当然鼓励大家都去打工,愉快的去接受资本家的剥削与栽培,而不去上街偷盗抢劫去。

  我们可以痛恨这些犯罪分子,但我们不得不承认,我们的社会实际上已经让偷盗和抢劫的风险变得很低而收益很高,实际上是在逼迫一些破产的无产者走上犯罪道路,这就是社会的冰冷而残酷的理性。

  为什么那些偷窃者得不到应有的惩罚,是我们的警察太少太无能了吗?我看不是,警察在一两天时间就可以抓住乱发文章的网民,那为什么小偷却抓不住呢?原因是什么呢?是因为小偷太多了抓不过来,还是因为抓小偷得不到物质上的收益,不如抓嫖客妓女罚款来钱快?我希望不会是这个答案。如果说我对深圳警察有什么建议的话,目前的警察队伍由于一些既得利益者的干扰,从内部改革已经是非常困难了,我建议深圳政府能从香港引入一批警察的管理人员,改造我们现有的警察队伍,将其管理制度好好地改革一下,只要深圳的治安能达到香港的一半水平,那么广大的深圳市民就应该很满意了。