在Linux中,nohup
(no hang-up)命令用于在用户退出登录后继续运行指定的进程。即使关闭终端或断开SSH连接,使用nohup
启动的进程也不会被终止。以下是如何使用nohup
命令的详细步骤和示例:
nohup command [arguments] &
command
:要运行的命令。[arguments]
:传递给命令的参数。&
:将命令放入后台运行。打开终端: 打开你的Linux终端。
使用nohup
命令:
在终端中输入nohup
命令,后面跟上你想要运行的命令及其参数,最后加上&
符号将命令放入后台运行。
例如,如果你想运行一个名为my_script.sh
的脚本,可以这样做:
nohup ./my_script.sh &
重定向输出:
默认情况下,nohup
会将命令的输出重定向到一个名为nohup.out
的文件中。如果你想将输出重定向到其他文件,可以使用>
或>>
操作符。
例如,将输出重定向到output.log
文件:
nohup ./my_script.sh > output.log 2>&1 &
这里,2>&1
表示将标准错误(stderr)重定向到标准输出(stdout),然后再将标准输出重定向到output.log
文件。
查看进程状态:
你可以使用ps
命令来查看使用nohup
启动的进程。
ps aux | grep my_script.sh
终止进程:
如果你需要终止使用nohup
启动的进程,可以使用kill
命令。首先找到进程的PID(进程ID),然后使用kill
命令终止它。
kill -9 <PID>
其中,<PID>
是进程的ID。
假设你有一个名为server.sh
的脚本,你想在后台运行它,并且希望即使关闭终端,它也能继续运行。你可以这样做:
nohup ./server.sh > server_output.log 2>&1 &
这样,server.sh
脚本会在后台运行,并且其输出会被记录到server_output.log
文件中。
通过这些步骤,你可以确保在Linux中使用nohup
命令启动的进程在用户退出登录后仍然继续运行。