nohup(no hang-up的缩写)是Linux系统中一个非常有用的命令,它允许用户启动一个进程,并使其在用户退出登录后继续运行。这对于长时间运行的任务或需要在后台持续执行的脚本非常有用。
基本命令格式:
nohup command [arguments] &
command:要执行的命令。[arguments]:传递给命令的参数。&:将命令放入后台执行。示例:
假设你有一个名为my_script.sh的脚本,你想在后台运行它,并且即使你退出登录,它也会继续运行。
nohup ./my_script.sh &
输出重定向:
默认情况下,nohup会将命令的输出重定向到一个名为nohup.out的文件中。如果你想指定输出文件,可以使用重定向操作符。
nohup ./my_script.sh > output.log 2>&1 &
这里,>将标准输出重定向到output.log,2>&1将标准错误重定向到标准输出,从而将所有输出都写入output.log。
查看进程:
你可以使用ps命令来查看由nohup启动的进程。
ps aux | grep my_script.sh
终止进程:
如果你需要终止由nohup启动的进程,可以使用kill命令。
kill -9 <PID>
其中<PID>是进程的ID。
nohup命令会忽略挂起信号(SIGHUP),因此即使你退出登录,进程也会继续运行。nohup时,确保你有足够的权限来执行命令和写入输出文件。通过这些基本用法和注意事项,你可以有效地使用nohup命令在Linux系统中管理长时间运行的任务。