在Linux中,nohup
(no hang-up)命令允许您在关闭终端或断开SSH连接后继续在后台运行脚本。以下是如何使用nohup
命令在后台运行脚本的步骤:
首先,确保您有一个要运行的脚本。例如,假设您有一个名为my_script.sh
的脚本。
#!/bin/bash
echo "Hello, World!"
确保脚本具有可执行权限:
chmod +x my_script.sh
使用nohup
命令在后台运行脚本,并将输出重定向到一个文件中(通常是nohup.out
)。这样可以防止脚本在终端关闭后停止运行。
nohup ./my_script.sh > nohup.out 2>&1 &
解释:
nohup
:启动一个不受挂起信号影响的进程。./my_script.sh
:要运行的脚本。> nohup.out
:将标准输出重定向到nohup.out
文件。2>&1
:将标准错误输出重定向到标准输出,这样错误信息也会被写入nohup.out
文件。&
:将命令放入后台运行。您可以使用tail
命令查看nohup.out
文件的最新内容:
tail -f nohup.out
如果您需要停止后台运行的脚本,可以使用ps
命令找到进程ID(PID),然后使用kill
命令终止它。
ps aux | grep my_script.sh
找到对应的PID后,使用kill
命令终止进程:
kill -9 <PID>
假设您有一个名为my_script.sh
的脚本,内容如下:
#!/bin/bash
for i in {1..10}
do
echo "Count: $i"
sleep 1
done
使用nohup
命令在后台运行该脚本:
nohup ./my_script.sh > nohup.out 2>&1 &
查看输出:
tail -f nohup.out
通过这些步骤,您可以在Linux中使用nohup
命令在后台运行脚本,并确保脚本在终端关闭后继续运行。