nohup(no hang-up)命令用于在后台运行程序,使其在用户退出登录后仍然继续运行。以下是如何正确使用nohup命令进行任务调度的步骤:
nohup command [arguments] &
command:要运行的命令。[arguments]:传递给命令的参数。&:将命令放入后台运行。假设你想在后台运行一个名为my_script.sh的脚本:
nohup ./my_script.sh &
编写脚本: 确保你的脚本已经编写好并且有执行权限。
chmod +x my_script.sh
使用nohup运行脚本:
在终端中输入以下命令来运行脚本,并将其放入后台:
nohup ./my_script.sh &
查看输出:
默认情况下,nohup会将输出重定向到一个名为nohup.out的文件中。你可以查看这个文件来获取脚本的输出。
tail -f nohup.out
指定输出文件: 如果你想将输出重定向到其他文件,可以使用以下命令:
nohup ./my_script.sh > output.log 2>&1 &
这里,>将标准输出重定向到output.log,2>&1将标准错误重定向到标准输出,从而将所有输出都写入output.log。
检查进程:
你可以使用ps命令来检查你的脚本是否在运行:
ps aux | grep my_script.sh
停止进程:
如果你需要停止后台运行的脚本,可以使用kill命令。首先找到进程ID(PID),然后使用kill命令终止它:
ps aux | grep my_script.sh
kill -9 <PID>
nohup命令会忽略挂起信号(SIGHUP),因此即使你退出登录,脚本也会继续运行。&将命令放入后台运行时,终端会立即返回提示符,你可以继续在终端中执行其他命令。通过以上步骤,你可以正确使用nohup命令进行任务调度,确保你的脚本在后台稳定运行。