nohup(no hang-up)命令在 Linux 系统中用于在后台运行程序,使其不受终端关闭或挂起的影响。以下是使用 nohup 命令时需要注意的事项:
nohup command [arguments] &
nohup myscript.sh &
nohup 会将输出重定向到当前目录下的 nohup.out 文件。nohup myscript.sh > output.log 2>&1 &
nohup 的主要作用是忽略挂起信号(SIGHUP),确保进程在终端关闭后继续运行。& 将命令放入后台运行。ps 命令查看进程:ps aux | grep myscript.sh
kill 命令终止进程:kill -9 <PID>
nohup 运行的进程会继承父进程的环境变量,但某些环境变量可能不会传递。可以使用 env 命令查看当前环境变量。chmod 命令设置适当的文件权限:chmod +x myscript.sh
strace 或 gdb 等工具。# 运行一个脚本并忽略挂起信号,输出重定向到 output.log
nohup ./myscript.sh > output.log 2>&1 &
# 查看进程
ps aux | grep myscript.sh
# 终止进程
kill -9 <PID>
通过遵循这些注意事项,可以更有效地使用 nohup 命令来确保后台进程的稳定运行。