背景:今天在安装hudson时,每次启动时都必须在linux终端(SecureCRT)执行:

java -jar hudson.war --httpPort=18080 --jp13Port=18009

但是执行之后,终端必须一直开着,只要终端一断开,hudson就会中断,心里一思量,Linux应该也有类似windows的服务,可以让其在后台自己运行,故搜索一翻,找到了答案:

http://www.muliba.net/archives/453

使用nohup,这就来找一找到底nohup是用来干嘛的?

紧接着,在网上一顿搜索:

百度文库:http://wenku.baidu.com/link?url=YiRbUMzzDhcEgejL4myRVfUX7Yiqm5JCgyv9tndsUBld9BEq5Ju7kjdVksje0_9XGb_Ib594mwCO0pcOilh-J33LHWGd2ejb7MJsJz2unKW

nohup: 用于不挂断执行程序,这有点类似于新启动一个进程,这才明白了,为什么以前老是使用nohup当做启动一个程序的前缀,在此来细细看看此命令的详解:

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

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

上面的启动hudson的命令可以改成:nohup java -jar hudson.war --httpPort=18080 --jp13Port=18009 &,在终端执行即可让其在后台执行

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

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

将日志输出至指定的日志文件里,更新以上命令至:nohup java -jar hudson.war --httpPort=18080 --jp13Port=18009 > hudson.log &

配合使用fg, bg,将后台、前台进行唤起;

另外一个常用的命令:kill -9 pid

参考资料:http://blog.sina.com.cn/s/blog_975a2a540100ywyx.html,从这个参考资料里学习到了“|”是linux里的管道符:ps -ef | grep java,这个使用是先将ps -ef查找到的内容(所有进程信息)通过管道发送给后面的命令,所有进行信息给到grep java之后,grep java会去找所有进程里包含java关键字的进程并显示出来。ps -ef和ps -aux一样,使用ps -aux | grep java进行尝试。

ps -ef和ps aux有什么区别呢:ps aux 是以BSD方式显示,ps -ef 是以System V方式显示,该种方式比BSD方式显示的多一重要项

ps -ef:UID        PID  PPID  C STIME TTY          TIME CMD

ps aux:USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND

大部分进行解释

UID 用户ID
PID 进程ID
PPID 父进程ID
C CPU占用率
STIME 开始时间
TTY 开始此进程的TTY,终端号
TIME 此进程运行的总时间
CMD 命令名

接下来看看grep命令的使用:

grep全称是Global Regular Expression Print,参考资料:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html

nohup之no hang up, kill, ps -ef, ps aux, grep的更多相关文章

  1. ps -ef 和 aux 区别

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  2. ps -ef/ps -aux 查看正在活动的进程

    ps -ef 查看正在活动的进程 ps -ef |grep abc 查看含有"abc"的活动进程 ps -ef |grep -v abc 查看不含abc的活动进程 1)ps a 显 ...

  3. 每天一个liunx命令4之 ps -ef ,ps -aux ,ps aux

    1ps aux和ps –aux 请注意"ps -aux"不同于"ps aux".POSIX和UNIX的标准要求"ps -aux"打印用户名为 ...

  4. ps -ef |grep xxx 输出的具体含义

    ps:将某个进程显示出来 -A 显示所有程序. -e 此参数的效果和指定"A"参数相同. -f 显示UID,PPIP,C与STIME栏位. grep命令是查找 中间的|是管道命令 ...

  5. Linux学习笔记:ps -ef、ps aux、kill -9

    一.查看进程命令 1.ps命令 Linux中的ps命令是Process Status的缩写. ps命令用来列出系统中当前运行的那些进程. ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻 ...

  6. ps -ef|grep详解 、kill与kill -9的区别

    ps -ef|grep详解 ps命令将某个进程显示出来 grep命令是查找 中间的|是管道命令 是指ps命令与grep同时执行 PS是LINUX下最常用的也是非常强大的进程查看命令 grep命令是查找 ...

  7. 通过进程名称删除进程 ps -ef

    删除进程名为udpserver的进程. kill -9 $(ps -ef|grep udpserver | grep java|awk '{print $2}' ). 1.通过进程名取得进程号: ps ...

  8. ps aux 和ps -aux和 ps -ef的选择

    转载自:足至迹留 Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想 ...

  9. ps -ef | grep

    ps -ef | grep java   查看所有关于java的进程 root     17540     1  0  2009 ?        01:42:27 /usr/java/jdk1.5. ...

随机推荐

  1. WebService学习总结(三)——使用JDK开发WebService

    一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...

  2. java本地方法如何调用其他程序函数,方法详解

    JNI是Java Native Interface的缩写,中文为JAVA本地调用.从Java 1.1 开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许J ...

  3. C++中map的基本操作和使用;

    注:本文来自sina live 的博文 Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本 ...

  4. js中的getAttribute方法使用示例

    getAttribute()方法是一个函数.它只有一个参数——你打算查询的属性的名字,下面为大家介绍下其具体的使用   getAttribute()方法 至此,我们已经向大家介绍了两种检索特定元素节点 ...

  5. iOS 用instancetype代替id作返回类型有什么好处?

    2014-07-07更新:苹果在iOS 8中全面使用instancetype代替id Steven Fisher:只要一个类返回自身的实例,用instancetype就有好处. @interface ...

  6. MVC中的_viewstart.cshtml(没有设置Layout却引用了布局)

    今天Home视图中新增了一个视图,因为不需要设置Layout就没与管他,但是运行起来一看,自动引用了布局,分析了半天 也没看出是哪的错误? 后来尝试着在area中增加了一个同样的视图就没有问题,比较这 ...

  7. Apache服务器常规操作

    导读 Apache是世界上排名第一的Web服务器,50%以上的Web服务器都在使用Apache,它几乎可以在所有计算机平台上运行.下面就由我给大家说说Apache服务器的一些常规操作. Apache服 ...

  8. Leetcode 之Populating Next Right Pointers in Each Node II(51)

    void connect(TreeLinkNode *root) { while (root) { //每一层循环时重新初始化 TreeLinkNode *prev = nullptr; TreeLi ...

  9. HTML快速入门3

    四.表格 (Table) 1. 表格的基本形式 表由 <table> 开始, </table> 结束,表的内容由 <tr>,<th> 和 <td& ...

  10. chrome断点续传功能

    刚好找到了一个临时的解决方法,chrome其实已经内部实现了断点续传功能,不过应该还没完善,所以要自己打开.方法:用chrome在地址栏输入chrome://flags用搜索找到resumption( ...