﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Java爱好者-文章分类-我的收藏</title><link>http://www.blogjava.net/xing/category/12515.html</link><description>一个坚定的Java爱好者，欢迎和我讨论</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 19:17:39 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 19:17:39 GMT</pubDate><ttl>60</ttl><item><title>营销术语搞笑~笑死人不偿命</title><link>http://www.blogjava.net/xing/articles/75800.html</link><dc:creator>JStar</dc:creator><author>JStar</author><pubDate>Wed, 18 Oct 2006 01:20:00 GMT</pubDate><guid>http://www.blogjava.net/xing/articles/75800.html</guid><wfw:comment>http://www.blogjava.net/xing/comments/75800.html</wfw:comment><comments>http://www.blogjava.net/xing/articles/75800.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xing/comments/commentRss/75800.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xing/services/trackbacks/75800.html</trackback:ping><description><![CDATA[　　为了排解寂寞你决定上网找人聊聊，这叫创业初期； <br /><br />　　上来一看，靠！MM还真不少，这叫市场潜力大； <br /><br />　　可是GG也不少，这叫竞争激烈； <br /><br />　　于是你决定想个办法让各位MM注意你，这叫定位； <br /><br />　　因此你说你又帅又有钱，这叫前期炒作； <br /><br />　　旁边一男的看不惯，说你其实又丑又穷又色眯眯，这叫恶性竞争； <br /><br />　　你向网管告状，网管把他踢了出去，这叫规范市场。 <br /><br />　　一老哥们证明说：“其实你是谢停疯第二”，这叫竟合炒做； <br /><br />　　你问：“这里有美女吗？”，这叫市场调查； <br /><br />　　有２０个人同时回答：“我是美女”，这叫泡沫经济； <br /><br />　　你说：“谁想和我聊天？”，这叫发布广告； <br /><br />　　两美女说见过你，这叫老客户； <br /><br />　　你飞快的记下两个美女的联系方式，这叫客户关系管理； <br /><br />　　你厚着脸皮问两个美女你是不是很帅，这叫代言人公关； <br /><br />　　这两个美女说你的确很帅，这叫联合炒作； <br /><br />　　你继续厚着脸皮让他们介绍几个熟人认识，这叫关系营销； <br /><br />　　然后不再理她们，这叫开拓新市场； <br /><br />　　居然２０个美女都表示要和你聊天，这叫市场垄断； <br /><br />　　要问为什么会有那么多美女找你，那是因为这年头顾客忠诚度低； <br /><br />　　你高兴的说：“这些美女都是我的”，这叫划分势力范围； <br /><br />　　你如果说：“凡北京的美女都是我的”，这叫划分可行的势力范围； <br /><br />　　如果你又说：“恐龙别来找我”，这叫市场细分； <br /><br />　　旁边一男的说：“我才是帅哥”，这叫正面竞争； <br /><br />　　旁边又男的说：“有河南的MM吗？“这叫侧面竞争； <br /><br />　　旁边又一男的说：“谁和我聊我给钱谁”，这叫价格战； <br /><br />　　旁边又一男的说：“我是版主，不许你强占这么多MM”，这叫政府行为； <br /><br />　　你说：“那我介绍两个跟你聊”，这叫政府公关； <br /><br />　　你说：“谁给我钱我和谁聊”，这叫心理战； <br /><br />　　结果２０个美女都抢着向你表达倾慕之情，这叫卖方市场； <br /><br />　　当然，你还遣散了两个去应付版主，这叫寡头市场； <br /><br />　　可你打字速度太慢，不能同时和２０个人聊天，这叫市场承接力有限； <br /><br />　　你又说：“我看谁顺眼才和谁聊”，这叫精品策略； <br /><br />　　有一美女说：“还认识很多靓女，问你要不要介绍？”这叫销售代理； <br /><br />　　又有一美女说：“发你张我的照片。”这叫电子商务； <br /><br />　　又有一美女说：“谈的开心今晚可以来找我。”这叫发现目标用户； <br /><br />　　你说：“那从此我只和你聊”，这叫大客户战略； <br /><br />　　可是你当然不会只和她聊，这叫成功的大客户战略； <br /><br />　　你说话会引用鲁迅席慕容海子周星星黑格尔罗丹斯皮尔伯格，这叫文化营销； <br /><br />　　你说：“我能歌善舞会写诗”，这叫优势展示； <br /><br />　　你又说：“我好象爱上你了”，这叫客户关怀； <br /><br />　　她说：“呸，我才不信呢”，这叫客户的逆向反映； <br /><br />　　你接着说：“真的，是真的”，这叫IBM； <br /><br />　　或者你说：“不信我去你家把心掏给你”，这叫DELL； <br /><br />　　或者你说：“不信我你还能信谁？”，这叫微软； <br /><br />　　你还可以说：“我会慢慢让你相信的”，这叫通用； <br /><br />　　如果她说：“得了吧”，这叫理性消费者； <br /><br />　　如果她说：“那我暂且信你一会儿吧”，这叫阶段性成果； <br /><br />　　这时你说：“XXXXXXXXXXX（省略2000字）”，这叫市场培育； <br /><br />　　然后你说：“我越来越喜欢你了”，这叫合理诱导； <br /><br />　　然后你又说：“我们见面吧”，这叫进入实质销售阶段； <br /><br />　　她当然会习惯性的拒绝，这叫假性拒绝； <br /><br />　　于是你说：“那你来找我吧”，这叫精通消费者心理学； <br /><br />　　她问：“这不一样吗？”，这叫再次获得销售机会； <br /><br />　　于是你又说：“当然不一样，我们可以去Sogo，然后在仙踪林喝茶”，这叫远景共享； <br /><br />　　你又说：“我在那看见过一瓶香水我想一定适合你”，这叫促销； <br /><br />　　她说：“我才不要香水呢”，这叫需求调查失误； <br /><br />　　你只好说：“本来是想给你买衣服，可是不知道你的尺码，要不一起去看看吧”，这叫空头支票； <br /><br />　　正好她确实想去买衣服，这叫真理瞬间； <br /><br />　　可是她对你的建议有些过意不去：“你是我什么人就帮我买呀”，这叫售前交涉； <br /><br />　　于是你就坡下驴：“那你买，我帮你把关”，这叫及时降低销售成本； <br /><br />　　当然你要说明：“我请你吃饭，我帮你拎包，我开车送你”，这叫服务承诺； <br /><br />　　于是你们决定在SOGO见面，这叫签单； <br /><br />　　临关电脑前你揭穿了版主威胁你的丑恶嘴脸，这叫远华案<br /><img src ="http://www.blogjava.net/xing/aggbug/75800.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xing/" target="_blank">JStar</a> 2006-10-18 09:20 <a href="http://www.blogjava.net/xing/articles/75800.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>windows下搭建cvs服务器</title><link>http://www.blogjava.net/xing/articles/55390.html</link><dc:creator>JStar</dc:creator><author>JStar</author><pubDate>Tue, 27 Jun 2006 10:05:00 GMT</pubDate><guid>http://www.blogjava.net/xing/articles/55390.html</guid><wfw:comment>http://www.blogjava.net/xing/comments/55390.html</wfw:comment><comments>http://www.blogjava.net/xing/articles/55390.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xing/comments/commentRss/55390.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xing/services/trackbacks/55390.html</trackback:ping><description><![CDATA[通常搭建CVS服务器都是在Linux/Unix平台上，但是在Windows平台上，凭借数目庞大的Open Source软件，我们也同样可以搭建一个适用于项目组的CVS服务器，并且还可以为其添加源代码跟踪功能。<br /><br />一、需要的软件<br />1、CVSNT<br />CVSNT是目前在Windows平台上构建CVS服务器最方便的工具，操作简单，以Windows服务程序的形式运行。目前CVSNT已被移植到其它平台如Linux上。<br />选用版本：2.0.58d。<br />选用这个版本而不是最新的2.5.x的原因是2.5.x改变了History文件的格式，影响了我们后面介绍的CVSTracNT的运行。当然，如果你不使用CVSTracNT，选用2.5.x也没有问题，其操作与2.0.58d基本相同，也十分的简单。<br />下载地址：<a href="http://www.cvsnt.org/" target="_blank" rel="nofollow">http://www.cvsnt.org</a><br /><br />2、CVSTracNT<br />CVSTracNT是一个基于Web的CVS源代码跟踪工具。使用CVSTracNT，你可以跟踪源代码的变更，提交任务单，创建里程碑，并通过Web的方式查看、比较源代码文件。对于CVS系统本身来说，是一个非常有益的补充。<br />选用版本：1.1.5 Build20050703多国语言版。<br />这个版本由cnpack项目组的成员进行了汉化，并添加了许多实用的工具。具体的内容可以参考其中文网站。<br />下载地址：<a href="http://www.cnvcl.org/" target="_blank" rel="nofollow">http://www.cnvcl.org</a><br /><br />3、ViewCVS<br />ViewCVS是一个用Python语言编写的CVS Web界面。有了它，你可以通过浏览器查阅源代码，进行版本比较。相对于CVSTracNT自带的Web界面来说，ViewCVS更加有亲和力，功能也比较完善。大名鼎鼎的SourceForge的Web界面就是使用ViewCVS搭建的。<br />还有另外一个CVS的Web界面CVSWeb，用Perl语言开发。<br />选用版本：1.0 dev r6。<br />最新的版本，没什么好说的。<br />下载地址：<a href="http://russ.hn.org/viewcvs/" target="_blank" rel="nofollow">http://russ.hn.org/viewcvs/</a><br /><br />4、Python<br />让ViewCVS运行起来，必不可少的就是Python。<br />选用版本：2.4.1。其它2.4.x版本应该也可以，但注意和ViewCVS的版本要搭配。<br />下载地址：<a href="http://www.python.org/" target="_blank" rel="nofollow">http://www.python.org</a><br /><br />5、PyWin32<br />Python语言的Win32扩展。<br />选用版本：2.04 for Py 2.4。<br />下载地址：<a href="http://pywin32.sourceforge.net/" target="_blank" rel="nofollow">http://pywin32.sourceforge.net</a><br /><br />6、Apache HTTP Server<br />ViewCVS可以在IIS和Apache服务器上运行，考虑再三，最后选择的Apache。虽然配置起来有些麻烦（其实也不麻烦），但考虑到Apache是开源项目，不会有法律问题，呵呵。<br />选用版本：2.0.54。<br />下载地址：<a href="http://apache.justdn.org/" target="_blank" rel="nofollow">http://apache.justdn.org/</a><br /><br />7、MySQL<br />ViewCVS提供了查询功能，使用的是MySQL数据库。<br />选用版本：3.23.42-nt。<br />不要使用4.x版本的MySQL，与ViewCVS兼容不太好。<br /><br />二、安装<br />1、安装CVSNT<br />直接运行CVSNT安装包。安装结束后，打开Service Control Panel，配置你的CVS仓库。点击Repositories选项页，添加你的仓库地址就可以了，不需要重新启动CVS服务器。<br /><br />2、安装CVSTracNT<br />直接运行CVSTracNT安装包。感谢CNPack的程序员，如果按照CVSTracNT网页上的安装介绍，一定会郁闷死。安装结束后运行CVSTrac配置程序，程序启动后会自动搜索CVS仓库，将其添加到CVSTrac数据库。选中数据库，点击浏览按钮，你的浏览器应该打开并显示CVSTrac的页面了。<br />CVSTracNT的使用及配置参考<a href="http://www.cnpack.org/" target="_blank" rel="nofollow">http://www.cnpack.org</a>上的介绍。<br /><br />3、安装Python及PyWin32<br />运行安装包即可。<br /><br />4、安装Apache HTTP Server<br />运行安装包即可。如果在安装过程中没有选择让Apache自动运行，那么可以通过开始菜单运行Apache。<br /><br />5、安装MySQL<br />运行安装包即可。<br /><br />6、安装ViewCVS<br />最麻烦的地方到了。<br />首先，将ViewCVS解压缩到一个目录中，然后在该目录的命令行中，运行python viewcvs-install。安装结束后，编辑viewcvs.conf文件，修改cvs_roots项为你的CVS仓库路径，修改default_root项为默认的CVS仓库，还可以修改邮件地址项。<br />然后拷贝web\cvs\viewcvs.cgi到你的Apache cgi-bin目录中。<br />运行Apache，在浏览器中输入<a href="http://localhost/cgi-bin/viewcvs.cgi" target="_blank" rel="nofollow">http://localhost/cgi-bin/viewcvs.cgi</a>，看看你的ViewCVS是不是运行顺利？<br />现在我们要为ViewCVS添加查询功能了。<br />运行MySQL的管理程序mysql，进入MySQL命令行模式，添加一个用户viewcvs，并赋予其读写的权力。退出。在命令行下运行python cvsbdadmin CREATE，根据提示输入数据库名，用户名和密码，数据库自动创建。<br />编辑viewcvs.conf文件，修改cvsdb块下的enabled选项值为1，去除后面各项前的注释符，修改各项的值为前面设置的值。<br />拷贝web\cgi\query.cgi到Apache cgi-bin目录下。<br />在浏览器中运行<a href="http://localhost/cgi-bin/query.cgi" target="_blank" rel="nofollow">http://localhost/cgi-bin/query.cgi</a>，看看结果……<br />失败了，系统提示Python错误。根据错误信息查到，错误处在dbi.py文件中。在dbi.py中有这样一行：datetime.tuple()。查阅Python文档，发现datetime对象没有tuple方法，只有timetuple方法，更改之后，运行正常。<br /><br />三、总结<br />以上的搭配方案适用于中小项目组，因为CVSNT本身在应对大项目时有一些效率问题。如果你想用CVS管理上万个源文件，那么用Linux平台搭建CVS服务器是更合适的选择。<br />无论如何，CVSTracNT都是你不该错过的好东西，当项目逐渐膨胀起来后，让CVSTracNT来管理一些机械的事情是一个好选择。<br />ViewCVS并不是必要的，但是比之CVSTracNT自带的Web界面，ViewCVS要更舒服一些，某些功能也更清晰（比如版本比较）。让你的上级通过ViewCVS来浏览你的工作情况也许是个好选择，你不需要在Trac中为他保留一个会扰乱正常工作程序的位置。<br />总得来说ViewCVS的查询功能并不是太方便，使用起来比较繁琐，结论是不用也罢。安装MySQL等等的繁琐工作也就不需要了。<br />我最遗憾的是，因为时间的关系，并没有建立SSL连接方式。从安全的角度来说，SSL也许是必不可少的，除非你的访问者都值得信任。<br />最后还要说的是，CVS虽然比较流行，但并不是源代码管理的唯一选择。在你作出决定之前，不妨先看看这篇文章：<a href="http://better-scm.berlios.de/comparison/comparison.html" target="_blank" rel="nofollow">http://better-scm.berlios.de/comparison/comparison.html</a>。<br /><img src ="http://www.blogjava.net/xing/aggbug/55390.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xing/" target="_blank">JStar</a> 2006-06-27 18:05 <a href="http://www.blogjava.net/xing/articles/55390.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CVS使用手册 </title><link>http://www.blogjava.net/xing/articles/55351.html</link><dc:creator>JStar</dc:creator><author>JStar</author><pubDate>Tue, 27 Jun 2006 08:51:00 GMT</pubDate><guid>http://www.blogjava.net/xing/articles/55351.html</guid><wfw:comment>http://www.blogjava.net/xing/comments/55351.html</wfw:comment><comments>http://www.blogjava.net/xing/articles/55351.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xing/comments/commentRss/55351.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xing/services/trackbacks/55351.html</trackback:ping><description><![CDATA[
		<p>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明<br /><a href="http://www.chedong.com/tech/cvs_card.html">http://www.chedong.com/tech/cvs_card.html</a></p>
		<p>关键词：CVS CVSWeb CVSTrac WinCVS CVSROOT </p>
		<p>内容摘要： </p>
		<p>CVS是一个C/S系统，多个开发人员通过一个中心版本控制系统来记录文件版本，从而达到保证文件同步的目的。工作模式如下： </p>
		<pre>       CVS服务器（文件版本库）<br />     /     |       \<br />     （版 本 同 步）<br />   /       |         \<br />开发者1  开发者2   开发者3<br /></pre>
		<p>作为一般开发人员挑选2,6看就可以了，CVS的管理员则更需要懂的更多一些，最后还简单介绍了一些Windows下的cvs客户端使用，CVS远程用户认证的选择及与BUG跟踪系统等开发环境的集成问题。</p>
		<ol>
				<li>
						<a href="http://www.chedong.com/tech/cvs_card.html#init">CVS环境初始化</a>：CVS环境的搭建 管理员 
</li>
				<li>
						<a href="http://www.chedong.com/tech/cvs_card.html#daily">CVS的日常使用</a>：日常开发中最常用的CVS命令， 开发人员 管理员 
</li>
				<li>
						<a href="http://www.chedong.com/tech/cvs_card.html#branch">CVS的分支开发</a>：项目按照不同进度和目标并发进行 管理员 
</li>
				<li>
						<a href="http://www.chedong.com/tech/cvs_card.html#ssh">CVS的用户认证</a>：通过SSH的远程用户认证，安全，简单 管理员 
</li>
				<li>
						<a href="http://www.chedong.com/tech/cvs_card.html#cvsweb">CVSWEB</a>：CVS的WEB访问界面大大提高代码版本比较的效率 管理员 
</li>
				<li>
						<a href="http://www.chedong.com/tech/cvs_card.html#tag">CVS TAG</a>：将$<span style="FONT-WEIGHT: bold">Id</span>$ 加入代码注释中，方便开发过程的跟踪开发人员 
</li>
				<li>
						<a href="http://www.chedong.com/tech/cvs_card.html#vss">CVS vs VSS</a>: CVS和Virsual SourceSafe的比较 开发人员 管理员 
</li>
				<li>
						<a href="http://www.chedong.com/tech/cvs_card.html#wincvs">WinCVS:</a> 通过SSH认证的WinCVS认证设置 
</li>
				<li>
						<a href="http://www.chedong.com/tech/cvs_card.html#cvstrac">基于CVSTrac的小组开发环境搭建</a>：通过CVSTrac实现web界面的CVS用户管理,集成的BUG跟踪和WIKI交流 
</li>
				<li>
						<a href="http://www.chedong.com/tech/cvs_card.html#auth">CVS中的用户权限管理</a>：基于系统用户的CVS权限管理和基于CVSROOT/passwd的虚拟用户管理<br /></li>
		</ol>
		<p>一个系统20%的功能往往能够满足80%的需求，CVS也不例外，以下是CVS最常用的功能，可能还不到它全部命令选项的20%，作为一般开发人员平时会用cvs update和cvs commit就够了，更多的需求在实际应用过程中自然会出现，不时回头看看相关文档经常有意外的收获。</p>
		<p>
				<br />
		</p>
		<h2>
				<a name="init">CVS环境初始化</a>
		</h2>环境设置：指定CVS库的路径CVSROOT 
<p>tcsh<br />setenv CVSROOT /path/to/cvsroot<br />bash<br />CVSROOT=/path/to/cvsroot ; export CVSROOT</p><p>后面还提到远程CVS服务器的设置：<br />CVSROOT=:ext:$USER@test.server.address#port:/path/to/cvsroot CVS_RSH=ssh; export CVSROOT CVS_RSH<br /><br />初始化：CVS版本库的初始化。<br />cvs init</p><p>一个项目的首次导入<br />cvs import -m "write some comments here" project_name vendor_tag release_tag<br />执行后：会将所有源文件及目录导入到/path/to/cvsroot/project_name目录下<br /><i>vender_tag: 开发商标记<br />release_tag: 版本发布标记</i></p><p>项目导出：将代码从CVS库里导出<br />cvs checkout project_name<br /><i>cvs 将创建project_name目录，并将最新版本的源代码导出到相应目录中。这个checkout和Virvual SourceSafe中的check out不是一个概念，相对于Virvual SourceSafe的check out是cvs update， check in是cvs commit。</i><br /><br /></p><h2><a style="FONT-WEIGHT: normal" name="daily">CVS的日常使用</a><b></b></h2><p></p><p><b>注意：第一次导出以后，就不是通过cvs checkout来同步文件了，而是要进入刚才cvs checkout project_name导出的project_name目录下进行具体文件的版本同步（添加，修改，删除）操作。</b></p><p><u>将文件同步到最新的版本<br /></u>cvs update<br /><i>不制定文件名，cvs将同步所有子目录下的文件，也可以制定某个文件名/目录进行同步<br /></i>cvs update file_name<br /><i>最好每天开始工作前或将自己的工作导入到CVS库里前都要做一次，并养成“先同步 后修改”的习惯，和Virvual SourceSafe不同，CVS里没有文件锁定的概念，所有的冲突是在commit之前解决，如果你修改过程中，有其他人修改并commit到了CVS 库中，CVS会通知你文件冲突，并自动将冲突部分用<br />&gt;&gt;&gt;&gt;&gt;&gt;<br />content on cvs server<br />&lt;&lt;&lt;&lt;&lt;&lt;<br />content in your file<br />&gt;&gt;&gt;&gt;&gt;&gt;<br />标记出来，由你确认冲突内容的取舍。<br />版本冲突一般是在多个人修改一个文件造成的，但这种项目管理上的问题不应该指望由CVS来解决。</i></p><p><u>确认修改写入到CVS库里</u><br />cvs commit -m "write some comments here" file_name</p><p><i>注意：CVS的很多动作都是通过cvs commit进行最后确认并修改的，最好每次只修改一个文件。在确认的前，还需要用户填写修改注释，以帮助其他开发人员了解修改的原因。如果不用写-m "comments"而直接确认`cvs commit file_name` 的话，cvs会自动调用系统缺省的文字编辑器(一般是vi)要求你写入注释。<br />注释的质量很重要：所以不仅必须要写，而且必须写一些比较有意义的内容：以方便其他开发人员能够很好的理解<br />不好的注释，很难让其他的开发人员快速的理解：比如： -m "bug fixed" 甚至 -m ""<br />好的注释，甚至可以用中文: -m "在用户注册过程中加入了Email地址校验"</i><br /><br />修改某个版本注释：每次只确认一个文件到CVS库里是一个很好的习惯，但难免有时候忘了指定文件名，把多个文件以同样注释commit到CVS库里了，以下命令可以允许你修改某个文件某个版本的注释：<br />cvs admin -m 1.3:"write some comments here" file_name<br /><br /><u>添加文件</u><br />创建好新文件后，比如：touch new_file<br />cvs add new_file<br /><i>注意：对于图片，Word文档等非纯文本的项目，需要使用cvs add -kb选项按2进制文件方式导入(k表示扩展选项，b表示binary)，否则有可能出现文件被破坏的情况<br />比如：<br />cvs add -kb new_file.gif<br />cvs add -kb readme.doc</i></p><p><i>如果关键词替换属性在首次导入时设置错了怎么办？<br /></i>cvs admin -kkv new_file.css <br /><i><br /></i><span style="TEXT-DECORATION: underline">然后确认修改并注释</span><br />cvs ci -m "write some comments here"</p><p><u>删除文件</u><br />将某个源文件物理删除后，比如：rm file_name<br />cvs rm file_name<br />然后确认修改并注释<br />cvs ci -m "write some comments here"<br />以上面前2步合并的方法为：<br />cvs rm -f file_name<br />cvs ci -m "why delete file"<br /><i>注意：很多cvs命令都有缩写形式：commit=&gt;ci; update=&gt;up; checkout=&gt;co/get; remove=&gt;rm;</i></p><p><u>添加目录</u><br />cvs add dir_name<br /><br /><u>查看修改历史</u><br />cvs log file_name<br />cvs history file_name<br /><br /><u>查看当前文件不同版本的区别</u><br />cvs diff -r1.3 -r1.5 file_name<br />查看当前文件（可能已经修改了）和库中相应文件的区别<br />cvs diff file_name<br />cvs的web界面提供了更方便的定位文件修改和比较版本区别的方法，具体安装设置请看后面的cvsweb使用</p><p><u>正确的通过CVS恢复旧版本的方法</u>：<br />如果用cvs update -r1.2 file.name<br />这个命令是给file.name加一个STICK TAG： "1.2" ，虽然你的本意只是想将它恢复到1.2版本<br />正确的恢复版本的方法是：cvs update -p -r1.2 file_name &gt;file_name<br />如果不小心已经加成STICK TAG的话：用cvs update -A 解决</p><p><u>移动文件/文件重命名</u><br />cvs里没有cvs move或cvs rename，因为这两个操作是可以由先cvs remove old_file_name，然后cvs add new_file_name实现的。</p><p><u>删除/移动目录</u><br />最方便的方法是让管理员直接移动，删除CVSROOT里相应目录（因为CVS一个项目下的子目录都是独立的，移动到$CVSROOT目录下都可以作为新的独立项目：好比一颗树，其实砍下任意一枝都能独立存活），对目录进行了修改后，要求其开发人员重新导出项目cvs checkout project_name 或者用cvs update -dP同步。</p><p><u>项目发布导出不带CVS目录的源文件</u><br />做开发的时候你可能注意到了，每个开发目录下，CVS都创建了一个CVS/目录。里面有文件用于记录当前目录和CVS库之间的对应信息。但项目发布的时候你一般不希望把文件目录还带着含有CVS信息的CVS目录吧，这个一次性的导出过程使用cvs export命令，不过export只能针对一个TAG或者日期导出，比如：<br />cvs export -r release1 project_name <br />cvs export -D 20021023 project_name<br />cvs export -D now project_name</p><h2><a name="branch">CVS Branch：项目多分支同步开发</a></h2>确认版本里程碑：多个文件各自版本号不一样，项目到一定阶段，可以给所有文件统一指定一个阶段里程碑版本号，方便以后按照这个阶段里程碑版本号导出项目，同时也是项目的多个分支开发的基础。<br /><p>cvs tag release_1_0</p><p><u>开始一个新的里程碑</u>：<br />cvs commit -r 2 标记所有文件开始进入2.x的开发</p><p><i>注意：CVS里的revsion和软件包的发布版本可以没有直接的关系。但所有文件使用和发布版本一致的版本号比较有助于维护。</i></p><p><u>版本分支的建立</u><br />在开发项目的2.x版本的时候发现1.x有问题，但2.x又不敢用，则从先前标记的里程碑：release_1_0导出一个分支 release_1_0_patch<br />cvs rtag -b -r release_1_0 release_1_0_patch proj_dir</p><p>一些人先在另外一个目录下导出release_1_0_patch这个分支：解决1.0中的紧急问题，<br />cvs checkout -r release_1_0_patch<br />而其他人员仍旧在项目的主干分支2.x上开发</p><p>在release_1_0_patch上修正错误后，标记一个1.0的错误修正版本号<br />cvs tag release_1_0_patch_1</p><p>如果2.0认为这些错误修改在2.0里也需要，也可以在2.0的开发目录下合并release_1_0_patch_1中的修改到当前代码中：<br />cvs update -j release_1_0_patch_1</p><h2><a name="ssh">CVS的远程认证通过SSH远程访问CVS</a></h2>使用cvs本身基于pserver的远程认证很麻烦,需要定义服务器和用户组，用户名，设置密码等，<br /><p>常见的登陆格式如下：<br />cvs -d :pserver:cvs_user_name@cvs.server.address:/path/to/cvsroot login<br />例子：<br />cvs -d :pserver:cvs@samba.org:/cvsroot login</p><p>不是很安全，因此一般是作为匿名只读CVS访问的方式。从安全考虑，通过系统本地帐号认证并通过SSH传输是比较好的办法，通过在客户机的 /etc/profile里设置一下内容：<br />CVSROOT=:ext:$USER@cvs.server.address#port:/path/to/cvsroot CVS_RSH=ssh; export CVSROOT CVS_RSH<br />所有客户机所有本地用户都可以映射到CVS服务器相应同名帐号了。</p><p>比如:</p><p>CVS服务器是192.168.0.3，上面CVSROOT路径是/home/cvsroot，另外一台开发客户机是192.168.0.4，如果 tom在2台机器上都有同名的帐号，那么从192.168.0.4上设置了：<br />export CVSROOT=:ext:tom@192.168.0.3:/home/cvsroot<br />export CVS_RSH=ssh<br />tom就可以直接在192.168.0.4上对192.168.0.3的cvsroot进行访问了（如果有权限的话）<br />cvs checkout project_name<br />cd project_name<br />cvs update<br />...<br />cvs commit <br /></p><p>如果CVS所在服务器的SSH端口不在缺省的22，或者和客户端与CVS服务器端SSH缺省端口不一致，有时候设置了：<br />:ext:$USER@test.server.address#port:/path/to/cvsroot <br /><br />仍然不行，比如有以下错误信息：<br />ssh: test.server.address#port: Name or service not known<br />cvs [checkout aborted]: end of file from server (consult above messages if any)<br /><br />解决的方法是做一个脚本指定端口转向（不能使用alias，会出找不到文件错误）：<br />创建一个/usr/bin/ssh_cvs文件，假设远程服务器的SSH端口是非缺省端口：34567<br />#!/bin/sh<br />/usr/bin/ssh -p 34567 "$@"<br />然后：chmod +x /usr/bin/ssh_cvs<br />并CVS_RSH=ssh_cvs; export CVS_RSH</p><p>注意：port是指相应服务器SSH的端口，不是指cvs专用的pserver的端口<br /><br /></p><h2><a name="cvsweb">CVSWEB：提高文件浏览效率</a></h2>CVSWEB就是CVS的WEB界面，可以大大提高程序员定位修改的效率:<br /><p>使用的样例可以看：<a href="http://www.freebsd.org/cgi/cvsweb.cgi">http://www.freebsd.org/cgi/cvsweb.cgi</a></p><p>CVSWEB的下载：CVSWEB从最初的版本已经演化出很多功能界面更丰富的版本，这个是我个人感觉安装设置比较方便的：<br />原先在：<s>http://www.spaghetti-code.de/software/linux/cvsweb/</s>，但目前已经删除，<a href="http://www.chedong.com/tech/cvsweb.tgz">目前仍可以在本站下载CVSWEB</a>，其实最近2年<a href="http://www.freebsd.org/projects/cvsweb.html">FreeBSD的CVSWeb项目</a>已经有了更好的发展吧，而当初没有用FreeBSD那个版本主要就是因为没有彩色的文件Diff功能。 <br />下载解包：<br />tar zxf cvsweb.tgz<br />把配置文件cvsweb.conf放到安全的地方（比如和apache的配置放在同一个目录下），<br />修改：cvsweb.cgi让CGI找到配置文件：<br />$config = $ENV{'CVSWEB_CONFIG'} || '/path/to/apache/conf/cvsweb.conf';<br /><br />转到/path/to/apache/conf下并修改cvsweb.conf：</p><ol><li>修改CVSROOT路径设置：<br />%CVSROOT = (<br />'Development' =&gt; '/path/to/cvsroot', #&lt;==修改指向本地的CVSROOT<br />); 
</li><li>缺省不显示已经删除的文档：<br />"hideattic" =&gt; "1",#&lt;==缺省不显示已经删除的文档 
</li><li>在配置文件cvsweb.conf中还可以定制页头的描述信息，你可以修改$long_intro成你需要的文字 </li></ol><p>CVSWEB可不能随便开放给所有用户，因此需要使用WEB用户认证：<br />先生成 passwd:<br />/path/to/apache/bin/htpasswd -c cvsweb.passwd user<br /><br />修改httpd.conf: 增加<br />&lt;Directory "/path/to/apache/cgi-bin/cvsweb/"&gt;<br />AuthName "CVS Authorization"<br />AuthType Basic<br />AuthUserFile /path/to/cvsweb.passwd<br />require valid-user<br />&lt;/Directory&gt;<br /><br /></p><h2><a name="tag">CVS TAGS: $Id: cvs_card.html,v 1.5 2003/03/09 08:41:46 chedong Exp $</a></h2>将$Id: cvs_card.html,v 1.9 2003/11/09 07:57:11 chedong Exp $ 加在程序文件开头的注释里是一个很好的习惯，cvs能够自动解释更新其中的内容成：file_name version time user_name 的格式，比如：cvs_card.txt,v 1.1 2002/04/05 04:24:12 chedong Exp，可以这些信息了解文件的最后修改人和修改时间<br /><p><br /></p><pre>几个常用的缺省文件：<br />default.php<br />&lt;?php<br />/*<br /> * Copyright (c) 2002 Company Name.<br /> * $Header: /home/cvsroot/tech/cvs_card.html,v 1.9 2003/11/09 07:57:11 chedong Exp $<br /> */<br /><br />?&gt;<br />====================================<br />Default.java: 注意文件头一般注释用 /* 开始 JAVADOC注释用 /** 开始的区别<br />/*<br /> * Copyright (c) 2002 MyCompany Name.<br /> * $Header: /home/cvsroot/tech/cvs_card.html,v 1.9 2003/11/09 07:57:11 chedong Exp $<br /> */<br /><br />package com.mycompany;<br /><br />import java.;<br /><br />/**<br /> * comments here<br /> */<br />public class Default {<br />    /**<br />     * Comments here<br />     * @param<br />     * @return<br />     */<br />    public toString() {<br /><br />    }<br />}<br />====================================<br />default.pl:<br />#!/usr/bin/perl -w<br /># Copyright (c) 2002 Company Name.<br /># $Header: /home/cvsroot/tech/cvs_card.html,v 1.9 2003/11/09 07:57:11 chedong Exp $<br /><br /># file comments here<br /><br />use strict;<br /><br /></pre><h2><a name="vss">CVS vs VSS</a></h2><p>CVS没有文件锁定模式，VSS在check out同时，同时记录了文件被导出者锁定。 </p><p>CVS的update和commit， VSS是get_lastest_version和check in </p><p>对应VSS的check out/undo check out的CVS里是edit和unedit </p><p>在CVS中，标记自动更新功能缺省是打开的，这样也带来一个潜在的问题，就是不用-kb方式添加binary文件的话在cvs自动更新时可能会导致文件失效。</p><p>$Header: /home/cvsroot/tech/cvs_card.html,v 1.5 2003/03/09 08:41:46 chedong Exp $ $Date: 2003/11/09 07:57:11 $这样的标记在Virsual SourceSafe中称之为Keyword Explaination，缺省是关闭的，需要通过OPITION打开，并指定需要进行源文件关键词扫描的文件类型：*.txt,*.java, *.html...</p><p>对于Virsual SourceSafe和CVS都通用的TAG有：<br />$Header: /home/cvsroot/tech/cvs_card.html,v 1.5 2003/03/09 08:41:46 chedong Exp $<br />$Author: chedong $<br />$Date: 2003/11/09 07:57:11 $ <br />$Revision: 1.9 $ </p><p>我建议尽量使用通用的关键词保证代码在CVS和VSS都能方便的跟踪。 </p><h2><a name="wincvs">WinCVS</a></h2>下载：<br /><p>cvs Windows客户端：目前稳定版本为1.2<br /><a href="http://cvsgui.sourceforge.net/">http://cvsgui.sourceforge.net</a><br />ssh Windows客户端<br /><a href="http://www.networksimplicity.com/openssh/">http://www.networksimplicity.com/openssh/</a><br /><br />安装好以上2个软件以后：<br />WinCVS客户端的admin==&gt;preference设置<br />1 在general选单里<br />设置CVSROOT： username@192.168.0.123:/home/cvsroot<br />设置Authorization: 选择SSH server<br /><br />2 Port选单里<br />钩上：check for alternate rsh name<br />并设置ssh.exe的路径，缺省是装在 C:\Program Files\NetworkSimplicity\ssh\ssh.exe </p><p>然后就可以使用WinCVS进行cvs操作了，所有操作都会跳出命令行窗口要求你输入服务器端的认证密码。 </p><p>当然，如果你觉得这样很烦的话，还有一个办法就是生成一个没有密码的公钥/私钥对，并设置CVS使用基于公钥/私钥的SSH认证（在general 选单里）。</p><p>可以选择的diff工具：examdiff<br />下载：<br /><a href="http://www.prestosoft.com/examdiff/examdiff.htm">http://www.prestosoft.com/examdiff/examdiff.htm</a><br />还是在WinCVS菜单admin==&gt;preference的WinCVS选单里<br />选上：Externel diff program<br />并设置diff工具的路径，比如：C:\Program Files\ed16i\ExamDiff.exe<br />在对文件进行版本diff时，第一次需要将窗口右下角的use externel diff选上。 </p><h2><a name="cvstrac">基于CVSTrac的小组开发环境搭建</a></h2>作为一个小组级的开发环境，版本控制系统和BUG跟踪系统等都涉及到用户认证部分。如何方便的将这些系统集成起来是一个非常困难的事情，毕竟我们不能指望 Linux下有像Source Offsite那样集成度很高的版本控制/BUG跟踪集成系统。<br /><br />我个人是很反对使用pserver模式的远程用户认证的，但如果大部分组员使用WINDOWS客户端进行开发的话，总体来说使用 CVSROOT/passwd认证还是很难避免的，但CVS本身用户的管理比较麻烦。本来我打算自己用perl写一个管理界面的，直到我发现了 CVSTrac：一个基于WEB界面的BUG跟踪系统，它外挂在CVS系统上的BUG跟踪系统，其中就包括了WEB界面的CVSROOT/passwd文件的管理，甚至还集成了WIKIWIKI讨论组功能。 
<p>这里首先说一下CVS的pserver模式下的用户认证，CVS的用户认证服务是基于inetd中的：<br />cvspserver stream tcp nowait apache /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver<br />一般在2401端口（这个端口号很好记：49的平方）<br /><br />CVS用户数据库是基于CVSROOT/passwd文件，文件格式：<br />[username]:[crypt_password]:[mapping_system_user]<br />由于密码都用的是UNIX标准的CRYPT加密，这个passwd文件的格式基本上是apache的htpasswd格式的扩展（比APACHE的 PASSWD文件多一个系统用户映射字段），所以这个文件最简单的方法可以用<br />apache/bin/htpasswd -b myname mypassword <br />创建。注意：通过htpasswd创建出来的文件会没有映射系统用户的字段<br />例如：<br />new:geBvosup/zKl2<br />setup:aISQuNAAoY3qw<br />test:hwEpz/BX.rEDU </p><p>映射系统用户的目的在于：你可以创建一个专门的CVS服务帐号，比如用apache的运行用户apache，并将/home/cvsroot目录下的所有权限赋予这个用户，然后在passwd文件里创建不同的开发用户帐号，但开发用户帐号最后的文件读写权限都映射为apache用户，在SSH模式下多个系统开发用户需要在同一个组中才可以相互读写CVS库中的文件。</p><p>进一步的，你可以将用户分别映射到apache这个系统用户上。<br />new:geBvosup/zKl2:apache<br />setup:aISQuNAAoY3qw:apache<br />test:hwEpz/BX.rEDU:apache </p><p>CVSTrac很好的解决了CVSROOT/passwd的管理问题，而且包含了BUG跟踪报告系统和集成WIKIWIKI交流功能等，使用的 CGI方式的安装，并且基于<a href="http://www.gnu.org/copyleft/gpl.html">GNU Public License</a>：<br /></p><p align="left">在inetd里加入cvspserver服务：<br />cvspserver stream tcp nowait apache /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver</p><p align="left">xietd的配置文件：%cat cvspserver <br />service cvspserver<br />{<br />disable = no<br />socket_type = stream<br />wait = no<br />user = apache<br />server = /usr/bin/cvs<br />server_args = -f --allow-root=/home/cvsroot pserver<br />log_on_failure += USERID<br />}</p><p>注意：这里的用户设置成apache目的是和/home/cvsroot的所有用户一致，并且必须让这个这个用户对/home/cvsroot/下的 CVSROOT/passwd和cvstrac初始化生成的myproj.db有读取权限。</p><p></p><p>安装过程 </p><ol><li>下载：可以从<a href="http://www.cvstrac.org/">http://www.cvstrac.org</a> 下载<br />我用的是已经在Linux上编译好的应用程序包：cvstrac-1.1.2.bin.gz，<br />%gzip -d cvstrac-1.1.2.bin.gz<br />%chmod +x cvstrac-1.1.2.bin<br />#mv cvstarc-1.1.1.bin /usr/bin/cvstrac <br />如果是从源代码编译：<br />从 http://www.sqlite.org/download.html 下载SQLITE的rpm包：<br />rpm -i sqlite-devel-2.8.6-1.i386.rpm<br />从 ftp://ftp.cvstrac.org/cvstrac/ 下载软件包<br />解包，假设解包到/home/chedong/cvstrac-1.1.2下，并规划将cvstrac安装到/usr/local/bin目录下， cd /home/chedong/cvstrac-1.1.2 编辑linux-gcc.mk:<br />修改：<br />SRCDIR = /home/chedong/cvstrac-1.1.2<br />INSTALLDIR = /usr/local/bin<br />然后<br />mv linux-gcc.mk Makefile<br />make<br />#make install<br /><br /></li><li>初始化cvstrac数据库：假设数据库名是 myproj<br />在已经装好的CVS服务器上（CVS库这时候应该已经是初始化好了，比如：cvs init初始化在/home/cvsroot里），运行一下<br />%cvstrac init /home/cvsroot myproj<br />运行后，/home/cvsroot里会有一个的myproj.db库，使用CVSTRAC服务，/home/cvsroot/myproj.db /home/cvsroot/CVSROOT/readers /home/cvsroot/CVSROOT/writers /home/cvsroot/CVSROOT/passwd这几个文件对于web服务的运行用户应该是可写的，在RedHat8上，缺省就有一个叫 apache用户和一个apache组，所以在httpd.conf文件中设置了用apache用户运行web服务：<br />User apache<br />Group apache，<br />然后设置属于apache用户和apache组<br />#chown -R apache:apache /home/cvsroot<br />-rw-r--r-- 1 apache apache 55296 Jan 5 19:40 myproj.db<br />drwxrwxr-x 3 apache apache 4096 Oct 24 13:04 CVSROOT/<br />drwxrwxr-x 2 apache apache 4096 Aug 30 19:47 some_proj/<br />此外还在/home/cvsroot/CVSROOT中设置了：<br />chmod 664 readers writers passwd<br /></li><li>在apche/cgi-bin目录中创建脚本cvstrac:<br />#!/bin/sh<br />/usr/bin/cvstrac cgi /home/cvsroot<br />设置脚本可执行：<br />chmod +x /home/apache/cgi-bin/cvstrac<br /></li><li>从 http://cvs.server.address/cgi-bin/cvstrac/myproj 进入管理界面<br />缺省登录名：setup 密码 setup<br />对于一般用户可以从：<br />http://cvs.server.address/cgi-bin/cvstrac/myproj 
</li><li>在setup中重新设置了CVSROOT的路径后，/home/cvsroot<br />如果是初次使用需要在/home/cvsroot/CVSROOT下创建passwd, readers, writers文件<br />touch passwd readers writers<br />然后设置属于apache用户，<br />chown apache.apache passwd readers writers<br />这样使用setup用户创建新用户后会同步更新CVSROOT/passwd下的帐号<br /></li></ol><p align="left">修改登录密码，进行BUG报告等，<br />更多使用细节可以在使用中慢慢了解。<br /></p><p align="left">对于前面提到的WinCVS在perference里设置：<br />CVSROOT栏输入：username@ip.address.of.cvs:/home/cvsroot<br />Authenitication选择：use passwd file on server side <br />就可以了从服务器上进行CVS操作了。<br /></p><h2><a name="auth">CVS的用户权限管理</a></h2><p align="left">CVS的权限管理分2种策略：<br /></p><ul><li>基于系统文件权限的系统用户管理：适合多个在Linux上使用系统帐号的开发人员进行开发。 
</li><li>基于CVSROOT/passwd的虚拟用户管理：适合多个在Windows平台上的开发人员将帐号映射成系统帐号使用。 </li></ul>为什么使用apache/apache用户？首先RedHat8中缺省就有了，而且使用这个用户可以方便通过cvstrac进行WEB管理。<br />chown -R apache.apache /home/cvsroot<br />chmod 775 /home/cvsroot<br /><p align="left">Linux上通过ssh连接CVS服务器的多个开发人员：通过都属于apache组实现文件的共享读写<br />开发人员有开发服务器上的系统帐号：sysuser1 sysuser2，设置让他们都属于apache组，因为通过cvs新导入的项目都是对组开放的：664权限的，这样无论那个系统用户导入的项目文件，只要文件的组宿主是apache，所有其他同组系统开发用户就都可以读写；基于ssh远程认证的也是一样。<br /></p><p align="left">   apache(system group)<br />/            |           \<br />sysuser1   sysuser2     sysuser3<br /></p><p align="left">Windows上通过cvspserver连接CVS服务器的多个开发人员：通过在passwd文件种映射成 apache用户实现文件的共享读写<br />他们的帐号通过CVSROOT/passwd和readers writers这几个文件管理；通过cvstrac设置所有虚拟用户都映射到apache用户上即可。<br /></p><p align="left">   apache(system user)<br />/            |            \<br />windev1     windev2      windev3             </p><p align="left"></p><p></p><p>利用CVS WinCVS/CVSWeb/CVSTrac 构成了一个相对完善的跨平台工作组开发版本控制环境。</p><p>相关资源： </p><p>CVS HOME：<br /><a href="http://www.cvshome.org/">http://www.cvshome.org</a></p><p>CVS FAQ：<br /><a href="http://www.loria.fr/%7Emolli/cvs-index.html">http://www.loria.fr/~molli/cvs-index.html</a><br /><br />相关网站:<br /><a href="http://directory.google.com/Top/Computers/Software/Configuration_Management/Tools/Concurrent_Versions_System/">http://directory.google.com/Top/Computers/Software/Configuration_Management/Tools/Concurrent_Versions_System/</a><br /></p><p>CVS--并行版本系统<br /><a href="http://www.soforge.com/cvsdoc/zh_CN/book1.html">http://www.soforge.com/cvsdoc/zh_CN/book1.html</a></p><p>CVS 免费书:<br /><a href="http://cvsbook.red-bean.com/">http://cvsbook.red-bean.com/</a></p><p><a href="http://refcards.com/refcards/cvs/index.html">CVS命令的速查卡片 refcards.com/refcards/cvs/</a></p><p>WinCVS:<br /><a href="http://cvsgui.sourceforge.net/">http://cvsgui.sourceforge.net/</a></p><p>CVSTrac: A Web-Based Bug And Patch-Set Tracking System For CVS<br /><a href="http://www.cvstrac.org/">http://www.cvstrac.org</a></p><p>StatCVS：基于CVS的代码统计工具：按代码量，按开发者的统计表等<br /><a href="http://sourceforge.net/projects/statcvs">http://sourceforge.net/projects/statcvs<br /></a></p>如何在WEB开发中规划CVS上：在Google上查 "cvs web development"<br /><a href="http://ccm.redhat.com/bboard-archive/cvs_for_web_development/index.html">http://ccm.redhat.com/bboard-archive/cvs_for_web_development/index.html</a><br /><br />一些集成了CVS的IDE环境： <br /><a href="http://www.eclipse.org/">Eclipse</a><br /><a href="http://www.magicunix.com/product_ch.html">Magic C++</a><br /><br /><p>原文出处：&lt;a href="http://www.chedong.com/tech/cvs_card.html"&gt;http://www.chedong.com/tech/cvs_card.html&lt;/a&gt;<br /></p><img src ="http://www.blogjava.net/xing/aggbug/55351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xing/" target="_blank">JStar</a> 2006-06-27 16:51 <a href="http://www.blogjava.net/xing/articles/55351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows操作系统自动关机任务</title><link>http://www.blogjava.net/xing/articles/55327.html</link><dc:creator>JStar</dc:creator><author>JStar</author><pubDate>Tue, 27 Jun 2006 06:57:00 GMT</pubDate><guid>http://www.blogjava.net/xing/articles/55327.html</guid><wfw:comment>http://www.blogjava.net/xing/comments/55327.html</wfw:comment><comments>http://www.blogjava.net/xing/articles/55327.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xing/comments/commentRss/55327.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xing/services/trackbacks/55327.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">相信大家都看到过这样的界面，<br /><img src="http://www.blogjava.net/images/blogjava_net/xing/12437/r_shutdown.jpg" /><br /></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt">
				<span lang="EN-US">
						<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /?>
						<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600">
								<v:stroke joinstyle="miter">
								</v:stroke>
								<v:formulas>
										<v:f eqn="if lineDrawn pixelLineWidth 0">
										</v:f>
										<v:f eqn="sum @0 1 0">
										</v:f>
										<v:f eqn="sum 0 0 @1">
										</v:f>
										<v:f eqn="prod @2 1 2">
										</v:f>
										<v:f eqn="prod @3 21600 pixelWidth">
										</v:f>
										<v:f eqn="prod @3 21600 pixelHeight">
										</v:f>
										<v:f eqn="sum @0 0 1">
										</v:f>
										<v:f eqn="prod @6 1 2">
										</v:f>
										<v:f eqn="prod @7 21600 pixelWidth">
										</v:f>
										<v:f eqn="sum @8 21600 0">
										</v:f>
										<v:f eqn="prod @7 21600 pixelHeight">
										</v:f>
										<v:f eqn="sum @10 21600 0">
										</v:f>
								</v:formulas>
								<v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f">
								</v:path>
								<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
								<o:lock aspectratio="t" v:ext="edit">
								</o:lock>
						</v:shapetype>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有些高级用户对此都没有办法，其实只需要在运行处，输入</span>
				<span lang="EN-US">shutdown –a</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">即可取消该窗体。如果系统找不到</span>
				<span lang="EN-US">shutdown</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令，那么还需要你自己到机器上赶紧，然后执行该指令。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">另外，借此介绍一下使用</span>
				<span lang="EN-US">windowsXP</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">操作系统用户设置自动关机任务的方法。先声明一点，如果长时间不使用计算机，系统就会进入硬盘关闭状态，本计划任务可能无法执行。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进入控制面板－</span>
				<span lang="EN-US">&gt;</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进入任务计划－</span>
				<span lang="EN-US">&gt;</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">新建任务，命名</span>
				<span lang="EN-US">shutdown</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或者其他你希望的名称。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如图：</span>
				<span lang="EN-US">
						<br />C:\WINDOWS\system32\shutdown.exe -s -t 300 -c "</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">每小时定期执行</span>
				<span lang="EN-US">" -f<br /><img src="http://www.blogjava.net/images/blogjava_net/xing/12437/r_task1.JPG" /><img src="http://www.blogjava.net/images/blogjava_net/xing/12437/r_task2.JPG" /><br /></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0.75pt; mso-para-margin-left: 2.0gd; mso-char-indent-count: .07">
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0.75pt; mso-para-margin-left: 2.0gd; mso-char-indent-count: .07">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样，自</span>
				<span lang="EN-US">21</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
				<span lang="EN-US">50</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开始，每个小时，系统会自动执行一次自动关机等待。直到你输入运行</span>
				<span lang="EN-US">shutdown –a</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来取消该自动关机过程。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0.75pt; mso-para-margin-left: 2.0gd; mso-char-indent-count: .07">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们的这个例子中，设定了</span>
				<span lang="EN-US">300</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">秒的关机过程，就是说从弹出窗体开始，</span>
				<span lang="EN-US">300</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">秒之后，系统自动关机，我们可以设定成任意的时间段，建议不要太长，也不要太短。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0.75pt; mso-para-margin-left: 2.0gd; mso-char-indent-count: .07">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0.75pt; mso-para-margin-left: 2.0gd; mso-char-indent-count: .07">
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Windows XP</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">的关机是由</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Shutdown.exe</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">程序来控制的，位于</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Windows\System32</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">文件夹中。如果想让</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Windows 2000</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">也实现同样的效果，可以把</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Shutdown.exe</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">复制到系统目录</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">System32</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">下。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0.75pt; mso-para-margin-left: 2.0gd; mso-char-indent-count: .07">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">附：</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">ShutDown</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">用法及参数</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">用法</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d up:xx:yy]<br /></span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">没有参数</span>
				<span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">显示此消息</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">(</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">与</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> ? </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">相同</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">)<br />-i </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">显示</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> GUI </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">界面，必须是第一个选项</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-l </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">注销</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">(</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">不能与选项</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> -m </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">一起使用</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">)<br />-s </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">关闭此计算机</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-r </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">关闭并重启动此计算机</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-a </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">放弃系统关机</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-m \\computername </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">远程计算机关机</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">/</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">重启动</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">/</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">放弃</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-t xx </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">设置关闭的超时为</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> xx </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">秒</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-c "comment" </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">关闭注释</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">(</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">最大</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> 127 </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">个字符</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">)<br />-f </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">强制运行的应用程序关闭而没有警告</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-d [p]:xx:yy </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">关闭原因代码</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />u </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">是用户代码</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />p </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">是一个计划的关闭代码</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />xx </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">是一个主要原因代码</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">(</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">小于</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> 256 </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">的正整数</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">)<br />yy </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">是一个次要原因代码</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">(</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">小于</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> 65536 </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">的正整数</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">)<br />-f</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">：强行关闭应用程序</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-m \\</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">计算机名：控制远程计算机</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-i</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">：显示图形用户界面，但必须是</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Shutdown</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">的第一个选项</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-l</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">：注销当前用户</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-r</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">：关机并重启</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-t</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">时间：设置关机倒计时</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />-c "</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">消息内容</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">"</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">：输入关机对话框中的消息内容</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">(</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">不能超</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">127</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">个字符</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">)</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/xing/aggbug/55327.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xing/" target="_blank">JStar</a> 2006-06-27 14:57 <a href="http://www.blogjava.net/xing/articles/55327.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>酒桌上的“真功夫”</title><link>http://www.blogjava.net/xing/articles/55078.html</link><dc:creator>JStar</dc:creator><author>JStar</author><pubDate>Mon, 26 Jun 2006 02:15:00 GMT</pubDate><guid>http://www.blogjava.net/xing/articles/55078.html</guid><wfw:comment>http://www.blogjava.net/xing/comments/55078.html</wfw:comment><comments>http://www.blogjava.net/xing/articles/55078.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xing/comments/commentRss/55078.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xing/services/trackbacks/55078.html</trackback:ping><description><![CDATA[营销人上酒场是常事，怎么让客户喝得称心喝得尽兴也是有绝招的，进来看看吧，绝对让您成为“酒场英雄”！<br /><br />　　劝酒者起身敬酒，被劝者会说：“屁股一抬，喝了重来”，意让劝酒者再喝一个，此时劝酒者应对：“屁股一动，表示尊重”。<br /><br />　　男人不喝酒，交不到好朋友。<br /><br />　　感情深一口闷，感情浅舔一舔。<br /><br />　　女士劝酒：激动的心，颤抖的手，我给领导到杯酒，领导不喝嫌我丑。<br /><br />　　女士和领导碰杯：领导在上我在下，您说来几下来几下。<br /><br />　　两只小蜜蜂呀，飞到花丛中呀。。。。<br /><br />　　宁可胃上烂个洞，不叫感情裂条缝。<br /><br />　　感情深，一口闷；<br /><br />　　感情浅，舔一舔；<br /><br />　　感情厚，喝不够；<br /><br />　　感情薄，喝不着；<br /><br />　　感情铁，喝出血。<br /><br />　　一两二两漱漱口，<br /><br />　　三两四两不算酒，<br /><br />　　五两六两扶墙走，<br /><br />　　七两八两还在吼。<br /><br />　　男人不喝酒，枉在世上走<br /><br />　　只要心里有，茶水也当酒<br /><br />　　酒是粮食精越喝越年轻<br /><br />　　东风吹，战鼓雷，今天喝酒谁怕谁！<br /><br />　　酒肉穿肠过，朋友心中留！<br /><br />　　人在江湖飘啊哪有不挨刀啊~~~几刀砍死你啊~~~~<br /><br />　　梁山伯祝英台生个儿子不成才~~~几点钟才回来~~~<br /><br />　　男人不喝酒活的象条狗，<br /><br />　　男人不抽烟活的象太监，<br /><br />　　女人不化妆白活在世上，<br /><br />　　男人不抽烟白活在人间。<br /><br />　　半斤不当酒，一斤扶墙走，斤半墙走我不走。<br /><br />　　酒逢知已千杯少，能喝多少喝多少，喝不了赶紧跑。<br /><br />　　革命小酒天天醉。。。。。。。。。。。。。。<br /><br />　　两腿一站，喝了不算。<br /><br />　　甘为革命献肠胃<br /><br />　　革命的小酒天天醉，<br /><br />　　喝红了眼睛喝坏了胃，<br /><br />　　喝得手软脚也软，<br /><br />　　喝得记忆大减退。<br /><br />　　喝得群众翻白眼，<br /><br />　　喝得单位缺经费；<br /><br />　　喝得老婆流眼泪，<br /><br />　　晚上睡觉背靠背，<br /><br />　　一状告到纪委会，<br /><br />　　书记听了手一挥—<br /><br />　　能喝不喝也不对，<br /><br />　　我们也是天天醉！<br /><br />　　辣酒涮牙，啤酒当茶<br /><br />　　6个6啊！哥两好啊！谁怕谁啊，乌龟怕铁锤啊！<br /><br />　　客人喝酒就得醉，要不主人多惭愧<br /><br />　　主人举杯对在座的说道：“女人大点口，男人全进去。”<br /><br />　　革命小酒天天醉，回家和老婆背靠背，<br /><br />　　老婆告到纪检委员会，纪委书记说:该喝不喝也不对;<br /><br />　　老婆告到人大常委会，人大主任说:这笔开支早就在预算内;<br /><br />　　老婆告到妇女联合会，妇女主任说:我家那位也是天天醉;<br /><br />　　老婆告到市委联席会，市委书记说:喝死了我们为他开追悼会。<br /><br />　　小快活，顺墙摸；<br /><br />　　大快活，顺地拖。<br /><br />　　人在江湖走，哪能不喝酒<br /><br />　　不会喝酒，前途没有<br /><br />　　一喝九量，重点培养<br /><br />　　只喝饮料，领导不要<br /><br />　　能喝不输，领导秘书<br /><br />　　一喝就倒，官位难保<br /><br />　　长喝嫌少，人才难找<br /><br />　　一半就跑，升官还早<br /><br />　　全程领跑，未来领导<br /><br />　　相聚都是知心友，我先喝俩舒心酒。<br /><br />　　路见不平一声吼，你不喝酒谁喝酒？---令打酒官司的人喝一杯<br /><br />　　锄禾日当午，汗滴禾下土，连干三杯酒，你说苦不苦？<br /><br />　　春眠不觉晓，处处闻啼鸟，举杯问小姐，我该喝多少？---小姐说了算<br /><br />　　少小离家老大回，这杯我请小姐喝--与在座小姐对饮一杯<br /><br />　　跟着感觉走，这次我喝酒。---咳，没办法，喝了吧<br /><br />　　来时夫人有交代，少喝酒来多吃菜。<br /><br />　　酒壮英雄胆，不服老婆管<br /><br />　　酒量不高怕丢愁，自我约束不喝酒。<br /><br />　　量小非君子，无毒不丈夫<br /><br />　　市场经济搞竞争，快将美酒喝一盅。<br /><br />　　日出江花红胜火，祝君生意更红火。---请经商下海者喝一杯<br /><br />　　结识新朋友，不忘老朋友。---与新老朋友共干一杯<br /><br />　　朝辞白帝彩云间，半斤八两只等闲。---好酒量，喝一杯<br /><br />　　危难之处显身手，妹妹（兄弟）替哥喝杯酒。<br /><br />　　一条大河波浪宽，端起这杯咱就干。---自饮一杯<br /><br />　　东风吹，战鼓擂，今天喝酒谁怕谁？<br /><br />　　万水千山总是情，少喝一杯行不行？<br /><br />　　要让客人喝好，自家先要喝倒！<br /><br />　　商品经济大流通，开放搞活喝两盅。<br /><br />　　酒逢知己千杯少，话不投机大口喝<br /><br />　　若要人不知，除非你干杯<br /><br />　　天蓝蓝，海蓝蓝，一杯一杯往下传<br /><br />　　天上无云地下旱，刚才那杯不能算<br /><br />　　酒逢知己饮，诗向会人吟<br /><br />　　百川到东海，何时再干杯，现在不喝酒，将来徒伤悲<br /><br />　　感情铁不铁?铁!那就不怕胃出血!<br /><br />　　感情深不深?深!那就不怕打吊针!<br /><br />　　会喝一两的喝二两，这样朋友够豪爽!<br /><br />　　会喝二两的喝五两，这样同志党培养!<br /><br />　　会喝半斤的喝壹斤，这样哥们最贴心!<br /><br />　　会喝壹斤的喝壹桶，回头提拔当副总!<br /><br />　　会喝壹桶的喝壹缸，酒厂厂长让你当!<br /><br />　　出门在外老婆交代，少喝酒、多叨菜，够不着了站起来。<br /><br />　　输了咱不喝，赢了咱倒赖，吃不完了兜回来。<br /><br />　　酒是米做，不喝不行。<br /><br />　　酒里乾坤大，壶中日月长。<br /><br />　　只要感情有，喝啥都是酒。（喝冰水找理由）<br /><br />　　喝酒不喝白，感情上不来。 <img src ="http://www.blogjava.net/xing/aggbug/55078.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xing/" target="_blank">JStar</a> 2006-06-26 10:15 <a href="http://www.blogjava.net/xing/articles/55078.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>