nohup
(no hang-up)命令在 Linux 系统中主要用于在后台运行程序,使其在用户退出登录或关闭终端后仍然继续运行。以下是一些常见的使用场景:
-
长时间运行的任务:当你需要在服务器上运行一个需要很长时间才能完成的任务时,可以使用
nohup
命令。这样即使你关闭了终端或者断开了连接,任务也会继续运行。 -
服务器上的守护进程:在服务器上运行的守护进程(如 Web 服务器、数据库服务器等)通常需要在后台持续运行。使用
nohup
命令可以确保这些进程在你退出登录后仍然继续运行。 -
定时任务:如果你需要在特定时间运行一个任务,可以使用
cron
或systemd
等工具来设置定时任务。但是,如果任务需要手动触发并且需要在后台运行,那么可以使用nohup
命令。 -
运行外部脚本:如果你需要在后台运行一个外部脚本,可以使用
nohup
命令。例如,你可以使用nohup python my_script.py &
命令在后台运行一个 Python 脚本。
使用 nohup
命令的基本语法如下:
nohup command-to-run &
其中,command-to-run
是你想要运行的命令或脚本,&
符号表示将命令放入后台运行。运行命令后,你会看到一个类似于以下的输出:
nohup: ignoring input and appending output to 'nohup.out'
这意味着命令的输出将被追加到名为 nohup.out
的文件中。你可以使用重定向操作符(如 >
或 >>
)来自定义输出文件的名称和位置。