nohup
命令在 CentOS(以及其他类 Unix 系统)中用于在用户退出登录后继续运行指定的命令或脚本。其基本语法如下:
nohup [选项] [命令] [参数...] &
选项说明
-h
:显示帮助信息。-V
:显示版本信息。-c
:不使用启动文件,直接执行指定的命令。
常用用法
-
基本用法:
nohup command [arguments] &
例如,运行一个名为
my_script.sh
的脚本:nohup ./my_script.sh &
-
将输出重定向到文件: 默认情况下,
nohup
会将标准输出和标准错误输出重定向到当前目录下的nohup.out
文件。你可以显式指定输出文件:nohup command [arguments] > output.log 2>&1 &
这里,
>
将标准输出重定向到output.log
,2>&1
将标准错误输出重定向到标准输出(即output.log
)。 -
指定工作目录: 使用
-c
选项可以指定命令的工作目录:nohup -c /path/to/directory command [arguments] &
-
后台运行: 使用
&
符号将命令放入后台运行。
示例
假设你有一个名为 my_server.sh
的脚本,你想在后台运行它,并将输出重定向到 server_output.log
文件:
nohup ./my_server.sh > server_output.log 2>&1 &
这样,即使你退出登录,my_server.sh
也会继续运行,并且其输出会被记录在 server_output.log
文件中。
注意事项
- 使用
nohup
运行的命令不会受到终端关闭的影响。 - 如果不重定向输出,
nohup.out
文件可能会变得非常大,因此建议显式指定输出文件。 - 使用
&
符号将命令放入后台运行时,可以使用jobs
命令查看后台任务的状态。
希望这些信息对你有所帮助!如果有其他问题,请随时提问。