« June 2006 | Main | August 2006 »
前几天看到Microsoft收购了Sysinternals公司的消息,惊讶之余想起来更前些天Sysinternals的一个经典免费工具Process Explorer来调试Job Object遇到的问题。
Process Explorer可以说是一个超级加强版的task manager,进程信息、内存使用、线程、Call Stack、handle的情况都可以查看。 是程序员调试程序,管理员预防病毒木马强大工具。 记得曾听过Dave Solomon的Windows Internals的培训,几乎他的所有关于系统内部情况的演示都是用process explorer来作的。
Job Object 是Microsoft Windows上编程的一个概念, 它可以让你把一组进程作为一个单位进行管理。有一些你无法在进程级别控制的限制可以在Job Object上控制,它会应用到Job Object关联的每一个进程上。比如:最大工作集、最大user-mode执行时间、最多占用内存等等。 当Job Object的handle被关闭时,它所关联的所有进程都会被杀掉。这样就能提供一个类似砂箱沙箱的安全环境来执行一些不太可靠的代码。
我们期待的是当那个Job Object的handle被关闭时,它所关联的进程都被杀掉,但是好像有点儿问题,作了一些修改后,我们用process explorer查看handle和进程的情况,发现handle的确被关闭了,但是那个进程就是不被杀掉,检查了各种参数都没找到原因。
转天,突然发现不开process explorer的时候就正常了!进程可以成功地被杀掉。突然想到,原来Process explorer为了能够查看每个handle的情况也会增加handle的reference,导致在CloseHandle的时候reference不是0,还没有真正关闭那个handle。
这不是Process Explorer的bug, 虽然在主进程中那个handle已经不见了,那个handle还被process explorer自己用着。
应该早一些想到这个原因的。平时应该再好好读读Windows Internals。掌握一些系统的内部原理能够在你编程中遇到神奇问题的时候帮上大忙。
windows自带的游戏扫雷虽然简单,但是相信每一个人都花了点儿时间来玩。 那你知道有多少种方法作弊么? 今天我发现了答案。
1。一篇Blog里面提到他一个不懂的词 W00t, 他把这个词加上了链接像这样:W00t. 其实就是Google define:W00t
2。我发现了原来google可以这样来查定义,我就试了一下define:foo
3。不出意料的,我顺着连接来到了wikipedia的页面:http://en.wikipedia.org/wiki/Metasyntactic_variable
顺便说一下,国内好像访问不了wikipedia了,主要是dns被动了手脚。我们可以把wikipedia的ip放在自己的hosts文件中就可以了,就是/etc/hosts或者%SystemRoot%\system32\drivers\etc\hosts
追加如下内容既可:
145.97.39.132 en.wikipedia.org
145.97.39.132 zh.wikipedia.org
145.97.39.132 jp.wikipedia.org
145.97.39.132 upload.wikimedia.org
4。这里面讲了很多好玩的东西, foo,bar是什么意思,怎么来的。以前虽然在Jargon File 里看过,但是这里讲得更全一些。还知道了Gimp的Script-Fu是啥意思来的。大家可以自己慢慢看。
5。看到其中有一个词 Xyzzy,提到其作为扫雷的作弊码。
6。接着去wikipedia中minesweeper的解释 然后就发现了......
呵呵,扯得似乎很远。
这篇blog告诉我们,wikipedia上真是有不少有用或者好玩的东西啊!
昨天CCTV6播放了此影片,让我重温了一遍,当年看的时候叫作《捍胃战士》。 这部电影真得太~~有创意了,从整个故事的设计到小的场景小的细节都充满创意,对白也相当的搞笑,强烈推荐看一遍。
这部电影还一个特点就是以恶心来搞笑,有些人可能会不适应,不过我蛮喜欢
。
昨天把电影推荐给一个小孩看,今天她告诉我说太喜欢看了,看了两遍,而且自己偷偷吃了一粒感冒胶囊,想象着感冒胶囊在她身体里的情况。呵呵,这小孩太可爱了。
这部真人结合动画的喜剧片讲的是关于一个弗兰克体内的白血球奥兹和新型感冒药片德雷克斯,追踪并摧毁一个致命的新病毒斯瑞克司。比尔-默里在片中饰演的弗兰克,这场战争就发生在他的体内。这里有个更详细的介绍 。
其中的几段:

大家看过的话,觉得还有那些好玩的,欢迎补充!

今天晚上终于在华星看了期待已久的IMAX《超人归来》。虽然去的晚,却拿到了最好位置的票
。画面大而高清晰,还有20分钟的3D场面,看得非常的痛快 :)
剧情不是很特别,不过里面有几个场景很有意思:
最近gaim总是刚一连上,闪了一下就消失了。很郁闷。
今天不能忍了, 决定提交bug。忽然发现已经有人反映了。 里面提到gaim 2.0中没有这个问题了。 于是
apt-get remove gaim
svn co https://svn.sourceforge.net/svnroot/gaim/trunk gaim
cd gaim
./autogen.sh
sudo apt-get install libgnutls-dev
./configure --enable-gnutls=yes
make
sudo make install
搞定。
有一天晚上睡不着,我找到一种方法能够快速回想起你的朋友、亲人的声音。这种方法的关键就是找到一个词,这个词你的朋友们亲人们都对你说过,这个词你对它非常的敏感。。。
这个词就是你的名字。你可以试一下,找个安静的地方,闭上眼睛, 回想认识的每一个人是怎么叫你的名字的。一个接一个的来。 你会发现每个人叫你名字的方式都是那么的不同,那么的独特。每个人的形象就活生生的呈现在你的眼前。
忍不住想马上试一下了吧?
作者 apeter (哈小奇) 看板 joke
标题 [趣事] 我黏土不够..
时间 Sun Jul 2 16:29:10 2006
───────────────────────────────────────
以下是真实故事..
在某天美术课时
在捏黏土的时候 他发现他的材料不够
就看到隔壁桌上有一个同学已经做完有用剩的
就指著那些用剩的问他同学
我同学:这些剩下来的黏土可以给我吗
同学A:那是我的作品...
2006年夏季我卷土重来了。
我已经一年多没写blog了,正如一个朋友留言所说我变懒了。这一年不仅是懒得写blog了,也懒得思考,懒得观察,懒得运动。
半年前就开始筹划的Reload计划,直到今天才开始实施(汗!)。希望这篇blog成为一个好的开端。
今年的重点就是思考、多思考。 发现现在自己每天工作、上网、聊天、看书、看电视、看电影,事情很多,但是思考的时间少了,都是在被动的接受和反射。
以后要多多思考,并把那些不同于他人的想法记录下来。