nohup命令导致磁盘空间满

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

最开始发现 docker 中 MySQL 由于磁盘空间不足而无法启动

img

使用df -h命令来查看磁盘信息,-h 选项为根据大小情况使用适当单位显示

img

可以看到是/docker/overlay2 下文件挂载点占用大量磁盘空间
据此我查看 docker 占用的磁盘空间:docker system df,实际情况发现 docker 占用空间不大

img

仔细查看/docker/overlay2 当前文件目录文件大小:ll -h,确定不是 docker 空间占用问题

img

但是为了增大空间,删除了 docker 的不必要占用:

  • 删除所有没有使用的容器或镜像:docker system prune -a
  • 删除没有使用的卷:docker volume rm $(docker volume ls -qf dangling=true)

通过层层查找发现了是 logstash 的问题:du -sh *(统计当前目录下所有文件或目录的大小)

img

最终定位到 nohup 命令的问题:由于使用 nohup 会不断产生日志信息,默认输出当前目录的 nohup.out 文件

img

然后上网查找方法得到:nohup.out 过大导致磁盘爆满

使用命令nohup ./logstash -f > /dev/null 2>&1 &后不起作用,nohup.out 文件大小仍然持续增长。在了解可以删除 nohup.out 文件后,直接删除了当前文件来达到停止文件大小增大问题,暂时解决了问题。


Linux nohup 命令 | 菜鸟教程