告别终端依赖:nohup 在日志分析中的 bash 任务应用

nohup 基础用法

将命令置于后台运行并忽略挂断信号(SIGHUP),标准输出默认重定向到 nohup.out

nohup your_command &

通过 > 重定向输出到自定义日志文件:

nohup your_command > custom.log 2>&1 &

结合日志分析的实践场景

实时过滤日志:持续监控日志并提取关键字,输出到独立文件

nohup tail -f /var/log/app.log | grep "ERROR" > errors.log 2>&1 &  

定时统计日志数据:使用 awk 定期分析日志并生成报告

nohup bash -c 'while true; do awk "/pattern/{count++} END{print count}" /path/to/log >> stats.log; sleep 300; done' &  

进程管理关键命令

查看后台任务列表:

jobs -l  

终止特定进程(需先获取 PID):

kill -9 <PID>  

通过 ps 查找 nohup 启动的进程:

ps aux | grep "your_command"  

增强稳定性的技巧

使用 disown 解除任务与终端的关联(需先通过 Ctrl+Z + bg 挂起到后台):

disown -h %1  

结合 tmuxscreen 实现更可靠的会话持久化:

tmux new -s session_name  
nohup your_command > output.log &  
tmux detach  

日志轮转与维护

通过 logrotate 自动分割 nohup 输出文件,防止单个文件过大。示例配置:

/path/to/nohup.out {
    daily
    rotate 7
    compress
    missingok
    notifempty
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值