﻿<?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-liangcmwn-文章分类-linux</title><link>http://www.blogjava.net/liangcmwn/category/48989.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 07 Jan 2012 04:35:02 GMT</lastBuildDate><pubDate>Sat, 07 Jan 2012 04:35:02 GMT</pubDate><ttl>60</ttl><item><title>ubuntu 安装 Sun-java6</title><link>http://www.blogjava.net/liangcmwn/articles/357639.html</link><dc:creator>liangcmwn</dc:creator><author>liangcmwn</author><pubDate>Wed, 31 Aug 2011 06:23:00 GMT</pubDate><guid>http://www.blogjava.net/liangcmwn/articles/357639.html</guid><wfw:comment>http://www.blogjava.net/liangcmwn/comments/357639.html</wfw:comment><comments>http://www.blogjava.net/liangcmwn/articles/357639.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liangcmwn/comments/commentRss/357639.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liangcmwn/services/trackbacks/357639.html</trackback:ping><description><![CDATA[<div><span style="font-family: verdana, sans-serif; font-size: 12px; line-height: 15px; "><h2><div>http://wiki.ubuntu.org.cn/Sun-java6</div><br /></h2><h2>区分</h2><p><a href="http://wiki.ubuntu.org.cn/Java" title="Java" style="color: #b58443; ">Java</a>有2种，一种是Ubuntu源自带的open-java（icedtea），一个是Oracle的sun-java6。前者是Ubuntu默认的Java，一般更新后系统就自带了，这里讲后者的安装配置。</p><a name=".E6.BA.90.E7.9A.84.E5.AE.89.E8.A3.85.E6.96.B9.E5.BC.8F" id=".E6.BA.90.E7.9A.84.E5.AE.89.E8.A3.85.E6.96.B9.E5.BC.8F" style="color: rgb(181, 132, 67); "></a><h2><span style="float: right; margin-left: 1em; font-weight: normal !important; font-size: 12px; ">[<a href="http://wiki.ubuntu.org.cn/index.php?title=Sun-java6&amp;action=edit&amp;section=2" title="编辑段落：源的安装方式" style="color: #b58443; ">编辑</a>]</span>源的安装方式</h2><a name=".E5.AE.89.E8.A3.85sun-java6" id=".E5.AE.89.E8.A3.85sun-java6" style="color: rgb(181, 132, 67); "></a><h3><span style="float: right; margin-left: 1em; font-weight: normal; font-size: 12px; ">[<a href="http://wiki.ubuntu.org.cn/index.php?title=Sun-java6&amp;action=edit&amp;section=3" title="编辑段落：安装sun-java6" style="color: #b58443; ">编辑</a>]</span>安装sun-java6</h3><p>添加partner源</p><pre style="font-size: 1em; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #666666; border-right-color: #666666; border-bottom-color: #666666; border-left-color: #666666; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; padding-top: 15px; padding-right: 20px; padding-bottom: 15px; padding-left: 20px; overflow-x: auto; overflow-y: auto; background-position: initial initial; background-repeat: initial initial; ">sudo add-apt-repository "deb http://archive.canonical.com/ubuntu maverick partner"</pre><p>(注： 如果系统提示没有add-apt-repository命令，则需要先安装python-software-properties，命令sudo apt-get install python-software-properties。另外，有些版本的ubuntu即使安装了python-software-properties也无add-apt-repository命令,此时需要手动添加此行"deb<a href="http://archive.canonical.com/ubuntu"  free"="" title="http://archive.canonical.com/ubuntu" rel="nofollow" style="color: #b58443; background-image: url(http://wiki.ubuntu.org.cn/skins/ubuntuchina/external.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; padding-right: 13px; background-position: 100% 50%; background-repeat: no-repeat no-repeat; ">http://archive.canonical.com/ubuntu</a>&nbsp;maverick partner"到/etc/apt/sources.list文件中。)</p><p>更新系统</p><pre style="font-size: 1em; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #666666; border-right-color: #666666; border-bottom-color: #666666; border-left-color: #666666; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; padding-top: 15px; padding-right: 20px; padding-bottom: 15px; padding-left: 20px; overflow-x: auto; overflow-y: auto; background-position: initial initial; background-repeat: initial initial; ">sudo apt-get update</pre><p>安装jre</p><pre style="font-size: 1em; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #666666; border-right-color: #666666; border-bottom-color: #666666; border-left-color: #666666; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; padding-top: 15px; padding-right: 20px; padding-bottom: 15px; padding-left: 20px; overflow-x: auto; overflow-y: auto; background-position: initial initial; background-repeat: initial initial; ">sudo apt-get install sun-java6-jre sun-java6-plugin</pre><p>安装jdk</p><pre style="font-size: 1em; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #666666; border-right-color: #666666; border-bottom-color: #666666; border-left-color: #666666; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; padding-top: 15px; padding-right: 20px; padding-bottom: 15px; padding-left: 20px; overflow-x: auto; overflow-y: auto; background-position: initial initial; background-repeat: initial initial; ">sudo apt-get install sun-java6-jdk sun-java6-plugin</pre><p>查看版本信息</p><pre style="font-size: 1em; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #666666; border-right-color: #666666; border-bottom-color: #666666; border-left-color: #666666; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; padding-top: 15px; padding-right: 20px; padding-bottom: 15px; padding-left: 20px; overflow-x: auto; overflow-y: auto; background-position: initial initial; background-repeat: initial initial; ">java -version </pre><a name=".E8.AE.BE.E4.B8.BA.E9.BB.98.E8.AE.A4Java" id=".E8.AE.BE.E4.B8.BA.E9.BB.98.E8.AE.A4Java" style="color: rgb(181, 132, 67); "></a><h3><span style="float: right; margin-left: 1em; font-weight: normal; font-size: 12px; ">[<a href="http://wiki.ubuntu.org.cn/index.php?title=Sun-java6&amp;action=edit&amp;section=4" title="编辑段落：设为默认Java" style="color: #b58443; ">编辑</a>]</span>设为默认Java</h3><pre style="font-size: 1em; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #666666; border-right-color: #666666; border-bottom-color: #666666; border-left-color: #666666; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; padding-top: 15px; padding-right: 20px; padding-bottom: 15px; padding-left: 20px; overflow-x: auto; overflow-y: auto; background-position: initial initial; background-repeat: initial initial; ">sudo update-alternatives --config java</pre>选择即可<a name="Oracle_.E5.AE.98.E6.96.B9bin.E5.AE.89.E8.A3.85.E5.8C.85" id="Oracle_.E5.AE.98.E6.96.B9bin.E5.AE.89.E8.A3.85.E5.8C.85" style="color: rgb(181, 132, 67); "></a><h2><span style="float: right; margin-left: 1em; font-weight: normal !important; font-size: 12px; ">[<a href="http://wiki.ubuntu.org.cn/index.php?title=Sun-java6&amp;action=edit&amp;section=5" title="编辑段落：Oracle 官方bin安装包" style="color: #b58443; ">编辑</a>]</span>Oracle 官方bin安装包</h2><p>此外可以用Linux上通用的bin包安装，下载官方bin包，终端下面安装解压，然后修改环境变量指向那个jdk便可。</p><p>设置环境变量，修改.bashrc或.profile，参考自己系统解压的路径改改。</p><pre style="font-size: 1em; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #666666; border-right-color: #666666; border-bottom-color: #666666; border-left-color: #666666; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; padding-top: 15px; padding-right: 20px; padding-bottom: 15px; padding-left: 20px; overflow-x: auto; overflow-y: auto; background-position: initial initial; background-repeat: initial initial; ">export JAVA_HOME=/home/user/jdk1.6.0_21/ export PATH=$JAVA_HOME/bin:$PATH export classPath=/home/user/jdk1.6.0_21/</pre><p>查看java版本</p><pre style="font-size: 1em; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #eeeeee; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #666666; border-right-color: #666666; border-bottom-color: #666666; border-left-color: #666666; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; padding-top: 15px; padding-right: 20px; padding-bottom: 15px; padding-left: 20px; overflow-x: auto; overflow-y: auto; background-position: initial initial; background-repeat: initial initial; ">qii@ubuntu:~$ java -version java version "1.6.0_21" Java(TM) SE Runtime Environment (build 1.6.0_21-b06) Java HotSpot(TM) Server VM (build 17.0-b16, mixed mode)</pre></span></div><img src ="http://www.blogjava.net/liangcmwn/aggbug/357639.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liangcmwn/" target="_blank">liangcmwn</a> 2011-08-31 14:23 <a href="http://www.blogjava.net/liangcmwn/articles/357639.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux中如何让进程在后台运行</title><link>http://www.blogjava.net/liangcmwn/articles/355067.html</link><dc:creator>liangcmwn</dc:creator><author>liangcmwn</author><pubDate>Tue, 26 Jul 2011 07:27:00 GMT</pubDate><guid>http://www.blogjava.net/liangcmwn/articles/355067.html</guid><wfw:comment>http://www.blogjava.net/liangcmwn/comments/355067.html</wfw:comment><comments>http://www.blogjava.net/liangcmwn/articles/355067.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liangcmwn/comments/commentRss/355067.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liangcmwn/services/trackbacks/355067.html</trackback:ping><description><![CDATA[<div><p>在Linux中，如果要让进程在后台运行，一般情况下，我们在命令后面加上&amp;即可，实际上，这样是将命令放入到一个作业队列中了：</p> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">$&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;"><br />[</span><span style="color: #000000;">1</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">17208</span><span style="color: #000000;"><br /><br />$&nbsp;jobs&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">l<br />[</span><span style="color: #000000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">17208</span><span style="color: #000000;">&nbsp;Running&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh&nbsp;</span><span style="color: #000000;">&amp;</span></div> <p>对于已经在前台执行的命令，也可以重新放到后台执行，首先按<strong>ctrl+z</strong>暂停已经运行的进程，然后使用<strong>bg</strong>命令将停止的作业放到后台运行：</p> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">$&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh<br />[</span><span style="color: #000000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;&nbsp;Stopped&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh<br /><br />$&nbsp;bg&nbsp;</span><span style="color: #000000;">%</span><span style="color: #000000;">1</span><span style="color: #000000;"><br />[</span><span style="color: #000000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;"><br /><br />$&nbsp;jobs&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">l<br />[</span><span style="color: #000000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">22794</span><span style="color: #000000;">&nbsp;Running&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh&nbsp;</span><span style="color: #000000;">&amp;</span></div>  <p>但是如上方到后台执行的进程，其父进程还是当前终端shell的进程，而一旦父进程退出，则会发送hangup信号给所有子进程，子进程收到hangup以后也会退出。如果我们要在退出shell的时候继续运行进程，则需要使用<strong>nohup</strong>忽略hangup信号，或者<strong>setsid</strong>将将父进程设为init进程(进程号为1)</p><br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">$&nbsp;echo&nbsp;$$<br /></span><span style="color: #000000;">21734</span><span style="color: #000000;"><br /><br />$&nbsp;nohup&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;"><br />[</span><span style="color: #000000;">1</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">29016</span><span style="color: #000000;"><br /><br />$&nbsp;ps&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">ef&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;grep&nbsp;test<br /></span><span style="color: #000000;">515</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">29710</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">21734</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">11</span><span style="color: #000000;">:</span><span style="color: #000000;">47</span><span style="color: #000000;">&nbsp;pts</span><span style="color: #000000;">/</span><span style="color: #000000;">12</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">bin</span><span style="color: #000000;">/</span><span style="color: #000000;">sh&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh<br /></span><span style="color: #000000;">515</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">29713</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">21734</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">11</span><span style="color: #000000;">:</span><span style="color: #000000;">47</span><span style="color: #000000;">&nbsp;pts</span><span style="color: #000000;">/</span><span style="color: #000000;">12</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">&nbsp;grep&nbsp;test<br /><br />$&nbsp;setsid&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;"><br />[</span><span style="color: #000000;">1</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">409</span><span style="color: #000000;"><br /><br />$&nbsp;ps&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">ef&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;grep&nbsp;test<br /></span><span style="color: #000000;">515</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">410</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">11</span><span style="color: #000000;">:</span><span style="color: #000000;">49</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">?</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">bin</span><span style="color: #000000;">/</span><span style="color: #000000;">sh&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh<br /></span><span style="color: #000000;">515</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">413</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">21734</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">11</span><span style="color: #000000;">:</span><span style="color: #000000;">49</span><span style="color: #000000;">&nbsp;pts</span><span style="color: #000000;">/</span><span style="color: #000000;">12</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">&nbsp;grep&nbsp;test</span></div><p>上面的试验演示了使用nohup/setsid加上&amp;使进程在后台运行，同时不受当前shell退出的影响。那么对于已经在后台运行的进程，该怎么办呢？可以使用<strong>disown</strong>命令：</p> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">$&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;"><br />[</span><span style="color: #000000;">1</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">2539</span><span style="color: #000000;"><br /><br />$&nbsp;jobs&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">l<br />[</span><span style="color: #000000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #000000;">2539</span><span style="color: #000000;">&nbsp;Running&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;"><br /><br />$&nbsp;disown&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">h&nbsp;</span><span style="color: #000000;">%</span><span style="color: #000000;">1</span><span style="color: #000000;"><br /><br />$&nbsp;ps&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">ef&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;grep&nbsp;test<br /></span><span style="color: #000000;">515</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">410</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">11</span><span style="color: #000000;">:</span><span style="color: #000000;">49</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">?</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">bin</span><span style="color: #000000;">/</span><span style="color: #000000;">sh&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh<br /></span><span style="color: #000000;">515</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2542</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">21734</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">11</span><span style="color: #000000;">:</span><span style="color: #000000;">52</span><span style="color: #000000;">&nbsp;pts</span><span style="color: #000000;">/</span><span style="color: #000000;">12</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">&nbsp;grep&nbsp;test</span></div> <p>另外还有一种方法，即使将进程在一个subshell中执行，其实这和setsid异曲同工。方法很简单，将命令用括号() 括起来即可：</p> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">$&nbsp;(.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">)<br /><br />$&nbsp;ps&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">ef&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;grep&nbsp;test<br /></span><span style="color: #000000;">515</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">410</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">11</span><span style="color: #000000;">:</span><span style="color: #000000;">49</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">?</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">bin</span><span style="color: #000000;">/</span><span style="color: #000000;">sh&nbsp;.</span><span style="color: #000000;">/</span><span style="color: #000000;">test.sh<br /></span><span style="color: #000000;">515</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">12483</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">21734</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">11</span><span style="color: #000000;">:</span><span style="color: #000000;">59</span><span style="color: #000000;">&nbsp;pts</span><span style="color: #000000;">/</span><span style="color: #000000;">12</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">:</span><span style="color: #000000;">00</span><span style="color: #000000;">&nbsp;grep&nbsp;test</span></div> <p>注：本文试验环境为Red Hat Enterprise Linux AS release 4 (Nahant Update 5),shell为/bin/bash，不同的OS和shell可能命令有些不一样。例如AIX的ksh，没有disown，但是可以使用<strong>nohup -p <em>PID</em></strong>来获得disown同样的效果。</p> <p>还有一种更加强大的方式是使用<strong>screen</strong>，首先创建一个断开模式的虚拟终端，然后用-r选项重新连接这个虚拟终端，在其中执行的任何命令，都能达到nohup的效果，这在有多个命令需要在后台连续执行的时候比较方便：</p> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">$&nbsp;screen&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">dmS&nbsp;screen_test<br /><br />$&nbsp;screen&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">list<br />There&nbsp;is&nbsp;a&nbsp;screen&nbsp;on:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">27963</span><span style="color: #000000;">.screen_test&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Detached)<br /></span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;Socket&nbsp;in&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">tmp</span><span style="color: #000000;">/</span><span style="color: #000000;">uscreens</span><span style="color: #000000;">/</span><span style="color: #000000;">S</span><span style="color: #000000;">-</span><span style="color: #000000;">jiangfeng.<br /><br />$&nbsp;screen&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">r&nbsp;screen_test</span></div></div><img src ="http://www.blogjava.net/liangcmwn/aggbug/355067.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liangcmwn/" target="_blank">liangcmwn</a> 2011-07-26 15:27 <a href="http://www.blogjava.net/liangcmwn/articles/355067.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux下svn命令大全</title><link>http://www.blogjava.net/liangcmwn/articles/353461.html</link><dc:creator>liangcmwn</dc:creator><author>liangcmwn</author><pubDate>Thu, 30 Jun 2011 11:38:00 GMT</pubDate><guid>http://www.blogjava.net/liangcmwn/articles/353461.html</guid><wfw:comment>http://www.blogjava.net/liangcmwn/comments/353461.html</wfw:comment><comments>http://www.blogjava.net/liangcmwn/articles/353461.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liangcmwn/comments/commentRss/353461.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liangcmwn/services/trackbacks/353461.html</trackback:ping><description><![CDATA[<div><p><strong>1、</strong>将文件checkout到本地目录</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"><strong>svn checkout</strong> path（path是服务器上的目录）<br /> 例如：svn checkout svn:</span><span style="color: #808080;">//</span><span style="font-weight: bold; color: #800000;">192.168</span><span style="color: #000000;">.</span><span style="font-weight: bold; color: #800000;">1.1</span><span style="color: #808080;">/</span><span style="color: #000000;">pro</span><span style="color: #808080;">/</span><span style="color: #000000;">domain<br /> 简写：svn co</span></div> <p><strong>2、</strong>往版本库中添加新的文件</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn </strong></span><span style="color: #0000ff;"><strong>add</strong></span> <span style="color: #0000ff;">file</span><span style="color: #000000;"><br /> 例如：svn </span><span style="color: #0000ff;">add</span><span style="color: #000000;"> test.php(添加test.php)<br /> svn </span><span style="color: #0000ff;">add</span> <span style="color: #808080;">*</span><span style="color: #000000;">.php(添加当前目录下所有的php文件)</span></div> <p><strong>3、</strong>将改动的文件提交到版本库</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"> <p><span style="color: #000000;"> <strong>svn commit</strong> -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">LogMessage</span><span style="color: #000000;">&#8220;</span> <span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;">-N</span><span style="font-weight: bold; color: #800000;">]</span> <span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;">--no-unlock</span><span style="font-weight: bold; color: #800000;">]</span><span style="color: #000000;"> PATH<img src="../../Images/dot.gif" alt="" />(如果选择了保持锁，就使用&#8211;no-unlock开关)<br /> 例如：svn commit -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">add test file for my test</span><span style="color: #000000;">&#8220;</span><span style="color: #000000;"> test.php<br /> 简写：svn ci</span></p></div> <p><strong>4、</strong>加锁/解锁</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn lock</strong> -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">LockMessage</span><span style="color: #000000;">&#8220;</span> <span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;">--force</span><span style="font-weight: bold; color: #800000;">]</span><span style="color: #000000;"> PATH<img src="../../Images/dot.gif" alt="" /><br /> 例如：svn lock -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">lock test  file</span><span style="color: #000000;">&#8220;</span><span style="color: #000000;"> test.php<br /> <strong>svn unlock</strong> PATH</span></div> <p><strong>5、</strong>更新到某个版本</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn update -r </strong>m path<br /> 例如：<br /> svn update如果后面没有目录，默认将当前目录以及子目录下的所有文件都更新到最新版本。<br /> svn update  -r </span><span style="color: #000000;">200</span><span style="color: #000000;"> test.php(将版本库中的文件test.php还原到版本200)<br /> svn update  test.php(更新，于版本库同步。如果在提交的时候提示过期的话，是因为<strong>冲突，需要先update，修改文件</strong>，然后清除<strong>svn  resolved</strong>，最后再提交commit)<br /> 简写：svn up</span></div> <p><strong>6、</strong>查看文件或者目录状态</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"> <span style="color: #000000;">1</span><span style="color: #000000;">）<strong>svn status</strong> path<img src="../../Images/dot.gif" alt="" />（目录下的文件和子目录的状态，正常状态不显示）<br /> 【?：不在svn的控制中；M：内容被修改；C：发生冲突；A：预定加入到版本库；K：被锁定】<br /> </span><span style="color: #000000;">2</span><span style="color: #000000;">）<strong>svn  status -v</strong> path<img src="../../Images/dot.gif" alt="" />(显示文件和子目录状态)<br /> 第一列保持相同，第二列显示工作版本号，第三和第四列显示最后一次修改的版本号和修改人。<br /> 注：svn status、svn diff和 svn  revert这三条命令在没有网络的情况下也可以执行的，原因是svn在本地的.svn中保留了本地版本的原始拷贝。<br /> 简写：svn  st</span></div> <p><strong>7、</strong>删除文件</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn delete</strong> path -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">delete test  fle</span><span style="color: #000000;">&#8220;</span><span style="color: #000000;"><br /> 例如：svn delete svn://</span><span style="color: #000000;">192.168.1.1</span><span style="color: #000000;">/pro/domain/test.php -m </span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">delete test  file</span><span style="color: #000000;">&#8221;<br /> 或者直接svn delete test.php  然后再svn ci -m &#8216;delete test file&#8216;，推荐使用这种<br /> 简写：svn (del, remove, rm)</span></div> <p><strong>8、</strong>查看日志</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn log</strong> path<br /> 例如：svn log  test.php 显示这个文件的所有修改记录，及其版本号的变化</span></div> <p><strong>9、</strong>查看文件详细信息</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn info</strong> path<br /> 例如：svn info  test.php</span></div> <p><strong>10、</strong>比较差异</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn diff</strong> path(将修改的文件与基础版本比较)<br /> 例如：svn diff test.php<br /> <strong>svn diff</strong> -r m:n  path(对版本m和版本n比较差异)<br /> 例如：svn diff -r 200:201 test.php<br /> 简写：svn  di</span></div> <p><strong>11、</strong>将两个版本之间的差异合并到当前文件</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn merge -r</strong> m:n path<br /> 例如：svn  merge -r </span><span style="color: #000000;">200</span><span style="color: #000000;">:</span><span style="color: #000000;">205</span><span style="color: #000000;"> test.php（将版本200与205之间的差异合并到当前文件，但是一般都会产生冲突，需要处理一下）</span></div> <p><strong>12、</strong>SVN 帮助</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn help<br /> svn help  ci</strong></span></div> <p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p> <p>以上是常用命令，下面写几个不经常用的</p> <p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p> <p><strong>13、</strong>版本库下的文件和目录列表</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"> <strong>svn list </strong>path<br /> 显示path目录下的所有属于版本库的文件和目录<br /> 简写：svn ls</span></div> <p><strong>14、</strong>创建纳入版本控制下的新目录</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"><strong>svn mkdir</strong>: 创建纳入版本控制下的新目录。<br /> 用法: 1、mkdir PATH&#8230;<br /> 2、mkdir URL&#8230;<br /> 创建版本控制的目录。<br /> 1、每一个以工作副本 PATH 指定的目录，都会创建在本地端，并且加入新增<br /> 调度，以待下一次的提交。<br /> 2、每个以URL指定的目录，都会透过立即提交于仓库中创建。<br /> 在这两个情况下，所有的中间目录都必须事先存在。 </span></div> <p><strong>15、</strong>恢复本地修改</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"><strong>svn revert</strong>: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:<br /> 用法:  revert PATH&#8230;<br /> 注意: 本子命令不会存取网络，并且会解除冲突的状况。但是它不会恢复<br /> 被删除的目录 </span></div> <p><strong>16、</strong>代码库URL变更</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"><strong>svn switch (sw):</strong> 更新工作副本至不同的URL。<br /> 用法: 1、switch URL  [PATH]<br /> 2、switch &#8211;relocate FROM TO [PATH...] <p>1、更新你的工作副本，映射到一个新的URL，其行为跟&#8220;svn update&#8221;很像，也会将<br /> 服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的<br /> 方法。<br /> 2、改写工作副本的URL元数据，以反映单纯的URL上的改变。当仓库的根URL变动<br /> (比如方案名或是主机名称变动)，但是工作副本仍旧对映到同一仓库的同一目录时使用<br /> 这个命令更新工作副本与仓库的对应关系。</p> </span></div> <p><strong>17、</strong>解决冲突</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"><strong>svn resolved:</strong> 移除工作副本的目录或文件的&#8220;冲突&#8221;状态。<br /> 用法: resolved  PATH&#8230;<br /> 注意: 本子命令不会依语法来解决冲突或是移除冲突标记；它只是移除冲突的<br /> 相关文件，然后让 PATH  可以再次提交。 </span></div> <p><strong>18、</strong>输出指定文件或URL的内容。</p> <span style="color: #000000;"><strong>svn </strong><strong>cat</strong> 目标[@版本]&#8230;如果指定了版本，将从指定的版本开始查找。<br /> svn cat -r PREV filename &gt; filename (PREV  是上一版本,也可以写具体版本号,这样输出结果是可以提交的) </span></div><img src ="http://www.blogjava.net/liangcmwn/aggbug/353461.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liangcmwn/" target="_blank">liangcmwn</a> 2011-06-30 19:38 <a href="http://www.blogjava.net/liangcmwn/articles/353461.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>