背景:今天在安装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. 自定义cell的步骤(每个cell的高度不一样,每个cell里面显示的内容也不一样)

    1.新建一个继承自UITableViewCell的子类  2. 在initWithStyle:方法中进行子控件的初始化 1> 将有可能显示的所有子控件都添加到contentView中 2> ...

  2. Jenkins 搭建U3D自动发布 Android

    工具 [u3d相关的PostProcessBuildPlayer,PerformBuild.cs] 1.Jenkins 开源包  Java -jar jenkins.war,参考链接 http://w ...

  3. shell的执行顺序问题

    &&,||,(),{},& 五个符号的运用 shell脚本执行命令的时候,有时候会依赖于前一个命令是否执行成功.而&&和||就是用来判断前一个命令执行效果的. ...

  4. wifi共享小工具

    MainForm.cs: using System;using System.Collections.Generic;using System.ComponentModel;using System. ...

  5. JAVA 利用JNI加密class文件/自定义ClassLoader 类

    利用 JNI 对bytecode 加密.不影响java程序员的正常开发.09年的时候写的,现在拿出来晒晒————————————————————————————混淆才是王道,如果混淆再加密就更酷了.. ...

  6. 关于FlexPaper 2.1.2版本 二次开发 Logo 、打印、搜索、缩略图、添加按钮、js交互、右键菜单、书签等相关问题

    2015-03-02 更新文章,由于需求修改,更改了flexpaper插件,故增加第9.10.11小节,下载代码时请注意. 先废话几句.最近用到文档在线浏览功能,之前用的是print2flash(一个 ...

  7. stm32f系列单片机startup_stm32fxxx.s文件说明(转)

    * 文件名          : startup_stm32f10x_hd.s;* 库版本           : V3.5.0;* 说明:             此文件为STM32F10x高密度设 ...

  8. Linux时间不准确的问题![转]

    Linux时间不准确的问题![转] 安装完系统发现时间与现实时间相差+8小时,经分析由以下产生.我们在安装时选择的是上海,而centos5把bios时间认为是utc时间,所以+8小时给我们.这个时候的 ...

  9. PHP Document 注释标记及规范 && PHP命名规范

    注释标记 @access 使用范围:class,function,var,define,module 该标记用于指明关键字的存取权限:private.public或proteced @author 指 ...

  10. Unity3d发布成exe项目后的设置(全屏自适应屏幕大小)

    原地址:http://blog.sina.com.cn/s/blog_697b1b8c0101gd46.html 1.  去除启动exe项目时出现的画面窗口 File ☞ Build Settings ...