nohup &

简介: nohup &

1.概述

nohup

在工作中,我们很经常跑一个很重要的程序,有时候这个程序需要跑好几个小时,甚至需要几天,这个时候如果我们退出终端,或者网络不好连接中断,那么程序就会被中止。而这个情况肯定不是我们想看到的,我们希望即使终端关闭,程序依然可以在跑。

这时我们就可以使用 nohup 这个命令。


nohup 命令是英语词组no hangup 的缩写,意思是不挂断,也就是指程序不退出。这个命令会使程序忽略 HUP 信号,保证程序能够正常进行。HUP 信号有些人可能比较陌生,它是在终端被中止的时候向它所关联的进程所发出的信号,进程收到这个信号后就会中止运行。所以如果你不希望进程被这个信号干掉的话,就可以忽略这个信号。而 nohup 命令做的就是这个事情。


&

用途:在后台运行

一般两个一起用

nohup command &


注意

&的意思是在后台运行, 什么意思呢?   意思是说, 当你在执行 path& 的时候, 即使你用ctrl C,  那么a.out照样运行(因为对SIGINT信号免疫)。但是要注意, 如果你直接关掉shell后, 那么, a.out进程同样消失。 可见, &的后台并不硬(因为对SIGHUP信号不免疫)。


nohup的意思是忽略SIGHUP信号, 什么意思呢?当运行nohup patht的时候, 关闭shell, 那么path进程还是存在的(对SIGHUP信号免疫)。 但是, 要注意, 如果你直接在shell中用Ctrl+C, 那么, path进程也是会消失的(因为对SIGINT信号不免疫)

相关文章
|
6月前
|
Python
用于后台运行命令的工具 - nohup
【1月更文挑战第21天】
81 5
|
6月前
|
Shell Linux
Linux命令(76)之nohup
Linux命令(76)之nohup
74 1
|
11月前
|
网络协议 Shell Linux
Linux命令(37)之sh
Linux命令(37)之sh
92 1
|
6月前
|
Java Shell
nohup命令
`nohup`命令确保程序在用户退出会话后继续运行,不受挂断信号影响。要后台运行并捕获输出,可使用: ```markdown nohup command > output.log 2>&1 & ``` 例如: ```markdown nohup java -jar eureka.jar > eureka.log 2>&1 & ``` 这启动`eureka.jar`,标准输出和错误重定向到`eureka.log`,并在后台运行。
76 1
|
6月前
|
Linux
Linux nohup 后台运行脚本
Linux nohup 后台运行脚本
172 0
|
Shell Linux
nohup命令详解
nohup命令详解
223 0
|
Shell
#!/bin/sh与#!/bin/bash有区别
#!/bin/sh与#!/bin/bash有区别
110 0
|
Shell Linux Go
nohup 命令解析
`nohup`不会断开与终端的命令,它会使您的脚本被忽略`SIGHUP`,并重定向`stdout/stderr`到一个文件`nohup.out`,以便在您注销后该命令可以在后台继续运行。
3700 0
|
NoSQL Redis Shell
|
关系型数据库 MySQL Shell