真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

informix初始化的時(shí)候報(bào):semget:errno=28該怎么辦-創(chuàng)新互聯(lián)

informix初始化的時(shí)候報(bào): semget: errno = 28該怎么辦,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司提供網(wǎng)站設(shè)計(jì)和自適應(yīng)建站服務(wù)。團(tuán)隊(duì)由有經(jīng)驗(yàn)的網(wǎng)頁(yè)設(shè)計(jì)師、程序員和市場(chǎng)專家組成,能夠提供從H5網(wǎng)站設(shè)計(jì),網(wǎng)站制作,一元廣告,模板建站到小程序定制開(kāi)發(fā)等全方位服務(wù)。 以客戶為中心,致力于為客戶提供創(chuàng)新、高效的解決方案,幫助您打造成功的企業(yè)網(wǎng)站。

[informix@onxrjs302 ~]$oninit -ivy 
Checking group membership to determine server run mode...succeeded
Reading configuration file '/home/informix/etc/S302.cfg'...succeeded
Creating /INFORMIXTMP/.infxdirs...succeeded
Checking config parameters...succeeded
Allocating and attaching to shared memory...succeeded
Creating resident pool 280260 kbytes...succeeded
Allocating 200016 kbytes for buffer pool of 2K page size...succeeded
Creating infos file "/home/informix/etc/.infos.onxrjs302"...succeeded
Linking conf file "/home/informix/etc/.conf.onxrjs302"...succeeded
oninit: Fatal error in shared memory creation
Initializing rhead structure...FAILED


WARNING: server initialization failed, or possibly timed out (if -w was used).
Check the message log, online.log, for errors.
[informix@onxrjs302 ~]$onstat -m
shared memory not initialized for INFORMIXSERVER 'onxrjs302'


Message Log File: /home/informix/S302.log
09:24:30  IBM Informix Dynamic Server Started.
09:24:31  semget: errno = 28


09:24:31  create_vp: cannot allocate semaphore
[informix@onxrjs302 ~]$



解決辦法參考如下:http://blog.csdn.net/miss_acha/article/details/10976635

在函數(shù)運(yùn)行時(shí)出錯(cuò),查找日志發(fā)現(xiàn)semget函數(shù)報(bào)錯(cuò),errno設(shè)置為28。遇到系統(tǒng)調(diào)用發(fā)生錯(cuò)誤的情況,可以嘗試以下幾種思路:

1. 使用strerror函數(shù)或者perror函數(shù)輸出錯(cuò)誤說(shuō)明。

2. 如果第一步還不是很清楚,可以根據(jù)errno的值找出對(duì)應(yīng)的錯(cuò)誤標(biāo)示,然后再詳細(xì)查閱出錯(cuò)系統(tǒng)函數(shù)的man手冊(cè),找到對(duì)應(yīng)錯(cuò)誤標(biāo)示的含義。

PS:大部分時(shí)候還是需要采用方法2,例如這次semget函數(shù)報(bào)錯(cuò),errno設(shè)置為28,我一開(kāi)始根本不記得28的錯(cuò)誤標(biāo)示是什么,采用strerror函數(shù)返回的錯(cuò)誤說(shuō)明為“No space left on device”,我還誤以為系統(tǒng)內(nèi)存不夠。最后通過(guò)查看errno.h頭文件才發(fā)現(xiàn)28的錯(cuò)誤標(biāo)示是ENOSPC,再去查semget函數(shù)的man手冊(cè),查看ENOSPC的具體含義是信號(hào)量超出系統(tǒng)限制:A semaphore set has to be created but the system limit for the  maximum  number of  semaphore  sets  (SEMMNI),  or the system wide maximum number of semaphores。

解決辦法:可以臨時(shí)修改內(nèi)核參數(shù)(當(dāng)然這只是權(quán)宜之計(jì),我們最好是找到為什么信號(hào)量會(huì)超出系統(tǒng)限制,因?yàn)檎G闆r下可能性不大。)

1)sysctl命令可以查看和設(shè)置系統(tǒng)內(nèi)核參數(shù)

sysctl -a | grep sem        #查看系統(tǒng)信號(hào)量的設(shè)置值

kernel.sem = 250        32000   32      128

對(duì)應(yīng)的4個(gè)值從左到右分別為SEMMSL、SEMMNS、SEMOPM和SEMMNI。

2)修改方法有三種:數(shù)字只作為參考

方法一:echo 610 86620 100 142 > /proc/sys/kernel/sem

方法二:sysctl -w kernel.sem="610 86620 100 142"

方法三:echo "kernel.sem=610 86620 100 142" >> /etc/sysctl.conf

errno的值對(duì)應(yīng)的錯(cuò)誤標(biāo)示,定義在/usr/include/errno.h頭文件中,但是該頭文件也是包含其他頭文件的。這些標(biāo)示實(shí)際上是定義在下面兩個(gè)頭文件中:

/usr/include/asm-generic/errno-base.h

/usr/include/asm-generic/errno.h

看完上述內(nèi)容,你們掌握informix初始化的時(shí)候報(bào): semget: errno = 28該怎么辦的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!


網(wǎng)站名稱:informix初始化的時(shí)候報(bào):semget:errno=28該怎么辦-創(chuàng)新互聯(lián)
文章地址:http://weahome.cn/article/dgpgij.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部