nohup(no hang-up的缩写)是一个在Unix和Linux系统中用于在用户退出系统后继续运行指定命令的工具。使用nohup可以防止进程因为终端关闭或用户注销而被终止。
要使用nohup命令,只需在要运行的命令前加上nohup,并将输出重定向到一个文件,例如:
nohup your_command > output.log 2>&1 &
这里,your_command是你要运行的命令。output.log是一个文件,用于存储命令的输出。2>&1表示将标准错误(2)重定向到标准输出(1),这样错误信息也会被写入output.log文件。最后的&符号表示将命令放入后台运行。
例如,如果你想在后台运行一个名为my_script.sh的脚本,并将输出保存到output.log文件中,你可以这样做:
nohup ./my_script.sh > output.log 2>&1 &
运行此命令后,即使你关闭终端或注销,my_script.sh脚本也会继续运行。要检查脚本的输出,可以随时查看output.log文件:
cat output.log
需要注意的是,使用nohup运行的进程不受终端关闭的影响,因此如果你需要停止进程,必须使用其他方法,如ps、grep和kill命令。