nohup(no hang-up)命令在Linux系统中用于在用户退出登录后继续运行指定的程序或脚本。以下是一些使用nohup命令的技巧:
运行单个命令
nohup command &
例如:
nohup sleep 3600 &
运行脚本
nohup ./script.sh &
重定向输出
默认情况下,nohup会将输出重定向到nohup.out文件。你可以自定义输出文件:
nohup command > output.log 2>&1 &
这里,>将标准输出重定向到output.log,2>&1将标准错误重定向到标准输出。
后台运行并忽略挂起信号
nohup命令会忽略挂起信号(SIGHUP),确保程序在用户退出登录后继续运行。
使用&符号
在命令末尾加上&符号,可以让命令在后台运行。
监控进程
使用ps命令来监控nohup运行的进程:
ps -ef | grep nohup
查找特定输出文件
如果你知道输出文件的名称,可以使用grep来查找相关日志:
grep "关键字" nohup.out
使用screen或tmux
虽然nohup可以确保进程在用户退出后继续运行,但使用screen或tmux可以提供更多的会话管理和控制功能。
假设你想在后台运行一个长时间运行的Python脚本,并且希望输出到特定的日志文件:
nohup python3 my_script.py > my_script.log 2>&1 &
通过这些技巧,你可以更有效地使用nohup命令来管理后台进程。