`nohup` 和 `&` 是UNIX和Linux操作系统中的命令行工具和shell特性,用于运行命令或脚本,并确保即使你关闭了终端或会话,命令或脚本仍然继续运行。
### 1. `nohup`:
`nohup` 是一个命令行工具,用于运行另一个命令或脚本,并确保即使你退出了终端或会话,它仍然继续运行。它的名字是 "no hang up" 的缩写,意味着当你挂断电话时,它不会停止。
使用 `nohup` 的基本语法是:
nohup command &
### 2. `&`:
在命令的末尾加上 `&` 符号会将命令放到后台运行。这意味着即使你关闭了终端或会话,命令或脚本仍然会继续执行。
### 例子:
考虑一个简单的Python脚本,我们称之为 `script.py`:
import time
while True:
print("I'm running...")
time.sleep(5)
如果你想在后台运行这个脚本,并且希望即使你关闭终端它仍然继续运行,你可以使用以下命令:
nohup python3 script.py &
当你执行上述命令后,你会得到一个输出文件名,通常是 `nohup.out` 或其他类似的名称。这个文件将包含脚本的输出。你可以通过 `tail -f nohup.out` 来查看该文件的实时输出。
希望这解释清楚了 `nohup` 和 `&` 的用途!