背景:今天在安装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. 转:this的用法

    this指针的含义及其用法: 1. this指针是一个隐含于每一个成员函数中的特殊指针.它指向正在被该成员函数操作的那个对象.2. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针, ...

  2. 学习Linux下的IP地址地理位置信息显示工具nali

    首先详细教程已经有前辈做了详细的安装和使用介绍,本人只是参照学习和记录下自己的实际操做. 本文参考档:http://www.cnblogs.com/mchina/archive/2012/12/24/ ...

  3. hoj3152-Dice 等比数列求和取模

    http://acm.hit.edu.cn/hoj/problem/view?id=3152 Dice My Tags (Edit) Source : Time limit : sec Memory ...

  4. 【原创】angularjs1.3.0源码解析之service

    Angular服务 在angular中,服务(service)是以提供特定的功能的形式而存在的. angular本身提供了很多内置服务,比如: $q: 提供了对promise的支持. $http: 提 ...

  5. C#面向对象面试题集锦

    1.简述C#中的虚方法 答:注意:当使用virtual关键字修饰符后,不允许再同时使用abstract,static,或override关键字进行修饰 使用virtual关键字修饰的方法就是虚方法,虚 ...

  6. 3月20,html

    html,表格的练习: 1,给图片做链接<br /><img src="200712211720988_2.jpg" usemap="A" w ...

  7. HDOJ 1874

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  8. C#模拟POST登录cnblogs并发布文章

    用到的工具FireFox的Firebugs插件 打开网络功能进行抓包 数据如下 可以得知POST的数据为: __EVENTTARGET=&__EVENTARGUMENT=&__VIEW ...

  9. 通过JS语句判断WEB网站的访问端是电脑还是手机

    通过JS语句判断WEB网站的访问端是电脑还是手机,以显示不同的页面! 目录腾讯网的适配代码如何判断访问网站的机器类型-如何判断ipadJS 判断浏览器客户端类型(ipad,iphone,android ...

  10. ios图标和默认图像

    Icon.png和Default.png是两个重要的图像文件.Icon.png充当应用程序的图标,这些图标用于在SpringBoard主屏幕上表示应用程序.Default.png(也称"启动 ...