Linux:常见问题解决办法

记录下linux下相关问题的处理方式,持续更新中……

1.批量杀死相同或相似名称进程

例如:解决cron引发大量sendmail、postdrop进程问题,cron这种问题可以采用重定向的方式解决,这儿只介绍如何杀死大量进程(打开crontab -e,将计划任务重定向"&> /dev/null")

ps -ef | grep postdrop | grep -v grep | awk  '{print "kill -9 " $2}' | sh

上述命令将postdrop进程筛选出来,通过awk选择第二个进程id,执行kill

2.rm -rf * 出现 Argument list too long

我们执行rm -rf * 出现命令参数台多的问题

rm -rf *

报错:

-bash: /bin/rm: Argument list too long
-bash: /usr/bin/logger: Argument list too long

解决方式

ls | xargs -n 9 rm -rf 

ls列出当前目录下的所有文件,以空格作为分隔, xargs是一个过滤器, -n 9 表示每9个文件作为一组,这样命令行就不会过长了。

3.rm -rf 之后磁盘空间没有释放

在运行过程中,经常会出现磁盘空间不足的情况,时不时的收到系统告警,心慌慌~~~,一查看又是某某程序日志问题,进入日志目录,rm -rf *,清空日志,万事大吉了么,查看下空间

df -h 

磁盘空间没有释放,什么原因导致的呢

原来rm 其实是删除该文件名到文件真正保存到磁盘位置的链接,此时该文件句柄还被服务打开,因此对应的数据并没有被回收,当服务进程停止或者重启后,占用的存储空间才被释放

可以通过如下命令查看进程id,然后终止进程,就可以删除文件了

lsof | grep deleted

当生产过程中出现问题无法重启怎么办?

可以采用如下方式,将一个空字符串覆盖日志文件

echo “” > 日志文件.log

或者

cat /dev/null > 日志文件.log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值