nohup 命令

nohup 的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行。常见的用法是和& 命令一同使用。 通俗的说,nohup可以在终端断开连接时,依旧能够保证断开连接前执行的程序继续执行。

举个栗子:

public class Test {
    public static void main(String[] args) throws Exception {
    	Thread.sleep(25 * 60 * 1000);
    }
}

终端1:

congqingquan@localhost Desktop % javac Test.java
congqingquan@localhost Desktop % java Test &
[1] 18414
congqingquan@localhost Desktop % ps -ef | grep java
  501 18414 18399   0  2:26上午 ttys000    0:00.11 /usr/bin/java Test
  501 18417 18399   0  2:26上午 ttys000    0:00.00 grep java
congqingquan@localhost Desktop %

关闭终端1的窗口

终端2:

congqingquan@localhost ~ % ps -ef | grep java
  501 18429 18319   0  2:27上午 ttys001    0:00.00 grep java
congqingquan@localhost ~ %
使用nohup解决

终端1:

congqingquan@localhost Desktop % nohup java Test > /dev/null 2>&1 &
[1] 18493
congqingquan@localhost Desktop % ps -ef | grep java
  501 18493 18468   0  2:31上午 ttys000    0:00.12 /usr/bin/java Test
  501 18497 18468   0  2:31上午 ttys000    0:00.00 grep java
congqingquan@localhost Desktop %

关闭终端1的窗口

终端2:

congqingquan@localhost Desktop % ps -ef | grep java
  501 18493     1   0  2:31上午 ??         0:00.21 /usr/bin/java Test
  501 18515 18319   0  2:32上午 ttys001    0:00.00 grep java
congqingquan@localhost Desktop %

关于下面命令每个组成部分是什么意思,可以看我以往的Blog:

  1. &与&&、|与|| 、/dev/null
  2. 重定向符号
nohup java Test > /dev/null 2>&1 &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值