如何批量杀掉已删除文件的进程

服务器只有20G,之前删除logs后过段时间发现又满了
问题

  1. 如何删除文件同时杀掉log的占用进程,希望是一条命令能够解决。
  2. 如何批量杀掉已删除文件所有的进程(httplog同一文件占用多个进程,总不能手动这样kill 87283 68767 7689吧?能否使用lsof | grep deleted这个命令查得的列表,一条命令删掉这里的所有已删除文件的进程)
阅读 9.1k
4 个回答
lsof |awk '/deleted/{print $2}'|xargs kill -9

日志按大小滚动应该很容易设置吧。确实想杀日志文件的进程,可以试试fuser:

sudo fuser -k logfile

你的日志滚动了吗?建议配置日志滚动策略,自动清理掉过期的Log

新手上路,请多包涵

不要直接删除文件,磁盘不会释放。用 echo ":" >> xxx.log 写入

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题