请楼主把错误贴出来,大家分析一下
不知是否是以下情况:
启动AS提示:semget: Invalid argument Failed to start database initialization 问题原因:创建打开信号量集失败。可能是由于要求的资源数已经超过了系统的限制。
解决方法:用ipcs -s 查看目前系统中已经创建的信号量集,使用ipcrm -s semid删除当
前用户所占用的信号量集,然后重启AS即可。(重启AS前最好同时删除fileq目录和tmp目录下的数据。经此步骤处理如果还没解决,只能reboot机器了。)
相关知识:
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