{我是新手,从未遇到此问题,请各位大大勿喷}
事由:今天早上上班忽然发掘机构网站显现问题。经过排查,发掘是Apache显现问题。首要检测配置文件无出问题后,起步服务发掘Apache服务能起步,然则没法关闭,没法重启。这是什么原由呢?
处理办法:(显现任何问题首要想要到的便是日志)
查看httpd日志: tail -f /var/log/httpd/error_log果然,表示了以下报错: [Mon Jul 11 09:04:07 2016] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Mon Jul 11 09:04:07 2016] [notice] Digest: generating secret for digest authentication ...既然找到问题了,那咱们就来处理呗!
关键字:suEXEC
处理办法: 输入:ipcs -s 看有无超过5个
这命令是表示信号量集的,什么是信号量集呢?
哈哈 我亦解释不清楚,自己百度吧而后表示以下结果: ------ Semaphore Arrays --------
key semid owner perms nsems
0x00000000 0 root 600 1
0x00000000 32769 root 600 1
0x00000000 3604482 4294967295 600 1
0x00000000 3637251 4294967295 600 1
0x00000000 4784132 4294967295 600 1
0x00000000 4816901 4294967295 600 1
0x00000000 1048582 4294967295 600 1
0x00000000 229383 4294967295 600 1
0x00000000 262152 4294967295 600 1
0x00000000 491529 4294967295 600 1
0x00000000 524298 4294967295 600 1
0x00000000 557067 4294967295 600 1
0x00000000 589836 4294967295 600 1
0x00000000 1081357 4294967295 600 1
0x00000000 1114126 4294967295 600 1
0x00000000 1146895 4294967295 600 1
0x00000000 1245200 4294967295 600 1
0x00000000 1277969 4294967295 600 1
0x00000000 1638418 4294967295 600 1执行后,表示结果把我看懵了,怎么会这么多?
哎 那就处理呗!
运用以下命令: ipcs -s | grep apache | perl -e while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}而后再重启Apache服务就处理了。
以下是ipcs参数的详解与用法:(自己用请勿喷) ipcs可用来表示当前Linux系统中的共享内存段、信号量集、信息队列等的运用状况。
命令示例:
ipcs -a或ipc 表示当前系统中共享内存段、信号量集、信息队列的运用状况;
ipcs -m 表示共享内存段的运用状况;
ipcs -s 表示信号量集的运用状况;
ipcs -q 表示信息队列的运用状况;
ipcrm可用来删除对应的共享内存段、信号量、信息队列;
命令示例:
ipcrm -s semid 删除对应的信号量集
ipcrm -m shmid 删除对应的共享内存段
ipcrm -q msqid 删除对应的信息队列
ipcrm本身只能实现单个资源的删除,利用以下命令可实现批量删除(zhangsj版权所有,呵呵):
1.ipcs -s|grep 用户名|cut -d" " -f2|xargs -n1 ipcrm -s
2.ipcs -s|awk /用户名/{print $2}|xargs -n1 ipcrm -s
3.ipcs -s|awk /用户名/{system("ipcrm -s "$2)}
4.for i in echo `ipcs|grep 用户名|cut -d" " -f2`; do ipcrm -s $i; done
|