nohup
(no hang up)是一个在Unix和Linux系统中用于在后台运行命令的实用程序,即使关闭终端或断开连接,它也会继续运行
使用nohup
运行命令:
在命令前加上nohup
,并将输出重定向到一个日志文件。例如:
nohup your_command > output.log 2>&1 &
这里,your_command
是您要运行的命令,output.log
是日志文件的名称。2>&1
表示将标准错误(2)重定向到标准输出(1),&
表示将命令放入后台运行。
查看日志文件:
使用tail
命令实时查看日志文件的内容。例如:
tail -f output.log
这将显示output.log
文件的最后几行,并在文件更新时实时显示新内容。按Ctrl + C
停止实时查看。
监控日志文件的大小:
使用du
和awk
命令查看日志文件的大小。例如:
du -sh output.log | awk '{print $1}'
这将显示output.log
文件的大小。
设置日志轮转:
为了避免日志文件过大,可以使用logrotate
工具定期轮转日志文件。创建一个名为logrotate.conf
的配置文件,并添加以下内容:
/path/to/output.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 user group
}
这里,/path/to/output.log
是日志文件的路径。配置表示每天轮转日志文件,保留最近7天的日志,压缩旧日志,如果日志文件丢失则不报错,如果日志文件为空则不轮转,以及创建具有指定权限的新日志文件。
然后,使用logrotate
命令手动运行轮转:
logrotate /path/to/logrotate.conf
通过这些方法,您可以使用nohup
和日志文件监控进程,并确保在关闭终端或断开连接时进程继续运行。