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
命令来管理后台进程。