nohup
(no hang-up)是一个在Linux和Unix系统中用于在后台运行命令的实用程序,即使关闭终端或断开连接,它也会继续运行
-
基本用法:
nohup command &
这将在后台运行
command
,并将输出重定向到名为nohup.out
的文件。&
符号表示将命令放入后台运行。 -
指定输出文件:
nohup command > output.log 2>&1 &
这将把标准输出和标准错误都重定向到
output.log
文件。 -
在指定目录下运行:
nohup command > /path/to/output.log 2>&1 &
这将在指定的目录下创建
output.log
文件,并将输出重定向到该文件。 -
使用
disown
命令: 如果你已经启动了一个命令,但忘记使用nohup
,你可以使用disown
命令将其从当前shell会话中分离,使其在关闭终端后继续运行。disown %job_number
其中
job_number
是你在启动命令时分配的作业编号。 -
使用
screen
或tmux
:screen
和tmux
是终端复用器,可以让你在一个终端窗口中运行多个会话。这些工具在你需要断开连接时非常有用,因为你可以重新连接到一个已存在的会话,而不是重新启动命令。 -
使用
systemd
服务: 对于需要在系统启动时自动运行的命令,可以创建一个systemd
服务。这样,即使系统重启,命令也会自动运行。 -
使用
cron
任务: 如果你需要在特定时间或间隔运行命令,可以使用cron
任务。编辑crontab
文件,添加一行,指定运行命令的时间和命令本身。
这些技巧可以帮助你在Debian系统中更有效地使用nohup
。在实际应用中,可以根据需要选择合适的方法。