nohup &指令的含义
时间: 2023-11-16 16:43:17 浏览: 100
nohup &指令的含义是在Linux系统中,使用nohup命令以及&符号来运行一个进程,并且在退出帐户或关闭终端后,该进程依然会继续运行。 nohup命令的作用是使得进程在后台运行,并且不会被挂起或终止。&符号的作用是将命令放在后台运行,即使关闭终端或退出帐户,命令也会继续执行。 无论是否将nohup命令的输出重定向到终端,输出都会附加到当前目录的nohup.out文件中。 这样可以确保进程的输出日志被保存下来,方便后续查看。
相关问题
nohup 启动与nohup &啥区别
`nohup` 和 `&` 的主要区别在于它们如何控制进程的执行方式以及与终端的交互。
1. **nohup启动**[^1]: 使用`nohup`命令启动的程序会在用户退出当前会话时继续运行,而不会因为关闭终端而停止。它允许程序的输出被重定向,但默认情况下不会输出到终端,而是可能写入`nohup.out`文件。例如:
```sh
nohup sh test.sh &
```
2. **nohup与&的区别**: `nohup` 更侧重于让进程在会话结束后继续运行并管理其输出,而 `&` 是用于在后台立即启动程序,即使当前终端被关闭也能保持进程运行。比如:
- 普通后台启动:`test.sh &`
- 结果是终端窗口不会关闭,但若退出会话,进程也会终止。
3. **日志重定向**: 如果在`nohup`后面跟上输出重定向,如`nohup command > log.txt 2>&1`,则会将标准输出和错误输出一起重定向到`log.txt`文件。`&1`通常表示将标准输出和错误合并到与当前终端相同的位置(通常是`STDOUT`),这样即使没有`nohup`,也可以通过`tail -f log.txt`查看日志。
总结来说,`nohup`更注重的是让进程持久运行不受终端影响,而`&`更多的是快速启动到后台。如果希望在会话结束时仍有日志记录,应该首选`nohup`。
详解nohup /dev/null 2&1 含义的使用含义的使
>/dev/null &命令的用途和原理。
nohup命令是Unix/Linux系统中的一个命令,意为“No Hang Up”,意思是让程序在后台运行而不会因为终端的关闭被杀死。
有时候我们需要让一些程序在后台运行,但是又不希望程序的输出或错误信息在屏幕上显示,这时我们就可以用nohup命令,结合>/dev/null和2>&1命令来达到我们的目的。
>/dev/null命令将程序的标准输出重定向到/dev/null文件中,而/dev/null又被称为“黑洞”,任何传输到/dev/null的数据都会被抛弃,所以程序的输出将不再在屏幕上显示。
2>&1命令的作用是把错误信息也重定向到标准输出中,也就是>/dev/null命令指定的位置。这样,程序不仅不会在屏幕上输出,也不会在日志中留下错误信息,而是被丢到了“黑洞”里。
最后,在结尾处添加&符号是让程序在后台运行,这样我们可以关闭终端窗口或者退出当前的会话,程序依然会在后台运行,直到完成或被手动杀死为止。
nohup /dev/null 2>&1命令的实际应用场景非常广泛,比如我们可以用它来运行一些长时间的任务,如备份数据、下载大文件等,并在运行期间不会受到终端关闭的影响。同时,我们也可以通过查看程序的输出日志,来监控程序的运行状态和异常情况,以便及时调整和优化。
阅读全文