Linuxϵͳµ÷ÓÃ
¹¦ÄÜÃèÊö£º
ÔÚÏûÏ¢¶ÓÁÐÉϽøÐÐÊÕ·¢ÏûÏ¢¡£ÎªÁË·¢ËÍÏûÏ¢£¬µ÷Óýø³Ì¶ÔÏûÏ¢¶ÓÁбØÐëÓÐдȨÄÜ¡£½ÓÊÕÏûϢʱ±ØÐëÓжÁȨÄÜ¡£
Ó÷¨£º
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);
ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg);
²ÎÊý£º
msqid£ºÏûÏ¢¶ÓÁеÄʶ±ðÂë¡£
msgp£ºÖ¸ÏòÏûÏ¢»º³åÇøµÄÖ¸Õ룬´ËλÖÃÓÃÀ´ÔÝʱ´æ´¢·¢ËͺͽÓÊÕµÄÏûÏ¢£¬ÊÇÒ»¸öÓû§¿É¶¨ÒåµÄͨÓýṹ£¬ÐÎ̬ÈçÏÂ
struct msgbuf {
long mtype; /* ÏûÏ¢ÀàÐÍ£¬±ØÐë > 0 */
char mtext[1]; /* ÏûÏ¢Îı¾ */
};
msgsz£ºÏûÏ¢µÄ´óС¡£
msgtyp£º´ÓÏûÏ¢¶ÓÁÐÄÚ¶ÁÈ¡µÄÏûÏ¢ÐÎ̬¡£Èç¹ûֵΪÁ㣬Ôò±íʾÏûÏ¢¶ÓÁÐÖеÄËùÓÐÏûÏ¢¶¼»á±»¶ÁÈ¡¡£
msgflg£ºÓÃÀ´Ö¸Ã÷ºËÐijÌÐòÔÚ¶ÓÁÐûÓÐÊý¾ÝµÄÇé¿öÏÂËùÓ¦²ÉÈ¡µÄÐж¯¡£Èç¹ûmsgflgºÍ³£ÊýIPC_NOWAITºÏÓã¬ÔòÔÚmsgsnd()Ö´ÐÐʱÈôÊÇÏûÏ¢¶ÓÁÐÒÑÂú£¬Ôòmsgsnd()½«²»»á×èÈû£¬¶ø»áÁ¢¼´·µ»Ø-1£¬Èç¹ûÖ´ÐеÄÊÇmsgrcv()£¬ÔòÔÚÏûÏ¢¶ÓÁгʿÕʱ£¬²»×öµÈ´ýÂíÉÏ·µ»Ø-1£¬²¢É趨´íÎóÂëΪENOMSG¡£µ±msgflgΪ0ʱ£¬msgsnd()¼°msgrcv()ÔÚ¶ÓÁгÊÂú»ò³Ê¿ÕµÄÇéÐÎʱ£¬²ÉÈ¡×èÈûµÈ´ýµÄ´¦Àíģʽ¡£
·µ»ØËµÃ÷£º
³É¹¦Ö´ÐÐʱ£¬msgsnd()·µ»Ø0£¬msgrcv()·µ»Ø¿½±´µ½mtextÊý×éµÄʵ¼Ê×Ö½ÚÊý¡£Ê§°ÜÁ½Õß¶¼·µ»Ø-1£¬errno±»ÉèΪÒÔϵÄij¸öÖµ
[¶ÔÓÚmsgsnd]
EACCES£ºµ÷Óýø³ÌÔÚÏûÏ¢¶ÓÁÐÉÏûÓÐдȨÄÜ£¬Í¬Ê±Ã»ÓÐCAP_IPC_OWNERȨÄÜ
EAGAIN£ºÓÉÓÚÏûÏ¢¶ÓÁеÄmsg_qbytesµÄÏÞÖÆºÍmsgflgÖÐÖ¸¶¨IPC_NOWAIT±êÖ¾£¬ÏûÏ¢²»Äܱ»·¢ËÍ
EFAULT£ºmsgpÖ¸ÕëÖ¸ÏòµÄÄÚ´æ¿Õ¼ä²»¿É·ÃÎÊ
EIDRM£ºÏûÏ¢¶ÓÁÐÒѱ»É¾³ý
EINTR£ºµÈ´ýÏûÏ¢¶ÓÁпռä¿ÉÓÃʱ±»ÐźÅÖжÏ
EINVAL£º²ÎÊýÎÞЧ
ENOMEM£ºÏµÍ³ÄÚ´æ²»×㣬ÎÞ·¨½«msgpÖ¸ÏòµÄÏûÏ¢¿½±´½øÀ´
[¶ÔÓÚmsgrcv]
E2BIG£ºÏûÏ¢Îı¾³¤¶È´óÓÚmsgsz£¬²¢ÇÒmsgflgÖÐûÓÐÖ¸¶¨MSG_NOERROR
EACCES£ºµ÷Óýø³ÌûÓжÁȨÄÜ£¬Í¬Ê±Ã»¾ßÓÐCAP_IPC_OWNERȨÄÜ
EAGAIN£ºÏûÏ¢¶ÓÁÐΪ¿Õ£¬²¢ÇÒmsgflgÖÐûÓÐÖ¸¶¨IPC_NOWAIT
EFAULT£ºmsgpÖ¸ÏòµÄ¿Õ¼ä²»¿É·ÃÎÊ
EIDRM£ºµ±½ø³Ì˯Ãߵȴý½ÓÊÕÏûϢʱ£¬ÏûÏ¢Òѱ»É¾³ý
EINTR£ºµ±½ø³Ì˯Ãߵȴý½ÓÊÕÏûϢʱ£¬±»ÐźÅÖжÏ
EINVAL£º²ÎÊýÎÞЧ
ENOMSG£ºmsgflgÖÐÖ¸¶¨ÁËIPC_NOWAIT£¬Í¬Ê±ËùÇëÇ
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Ê×ÏȽéÉÜÒ»¸öÃû´Ê“¿ØÖÆÌ¨£¨console£©”£¬Ëü¾ÍÊÇÎÒÃÇͨ³£¼ûµ½µÄʹÓÃ×Ö·û²Ù×÷½çÃæµÄÈË»ú½Ó¿Ú£¬ÀýÈçdos¡£ÎÒÃÇ˵¿ØÖÆÌ¨ÃüÁ¾ÍÊÇָͨ¹ý×Ö·û½çÃæÊäÈëµÄ¿ÉÒÔ²Ù×÷ϵͳµÄÃüÁÀýÈçdosÃüÁî¾ÍÊÇ¿ØÖÆÌ¨ÃüÁî¡£ÎÒÃÇÏÖÔÚÒªÁ˽âµÄÊÇ»ùÓÚLinux²Ù×÷ϵͳµÄ»ù±¾¿ØÖÆÌ¨ÃüÁî¡£ÓÐÒ»µãÒ»¶¨Òª×¢Ò⣬ºÍdosÃüÁͬµÄÊÇ£¬LinuxµÄÃü ......
·¢²¼: 2009-3-30 14:11 | ×÷Õß: gyl4802959
| À´Ô´: ITÔËάר¼ÒÍø
1)Ô¤±¸ÖªÊ¶
Nagios×Ô¼º¶¨ÒåÁËÒ»Ì×¹æÔòÓÃÓÚÅäÖÃÎļþ,ÆäÖÐ×îÖØÒªµÄ¸ÅÄî¾ÍÊÇ”¶ÔÏó”----object.ͨË×µÄÀí½â:¼Ù¶¨ÎÒÃÇÊ×Ïȶ¨ÒåÁË”ÐÔ±ð”Õâ¸ö¶ÔÏó,Ëü
µÄÖµÖ»¿ÉÄÜÊÇÄÐ,Å®,ÈËÑýµÈµÈ,È»ºó¶¨ÒåijÈËΪһ¸ö¶ÔÏó,ÀýÈçÕÅÈý,¶¨ÒåÕÅÈýµÄʱºòÓÐ ......
sock_rawÔʼÌ×½Ó×Ö±à³Ì¿ÉÒÔ½ÓÊÕµ½±¾»úÍø¿¨ÉϵÄÊý¾ÝÖ¡»òÕßÊý¾Ý°ü,¶ÔÓë¼àÌýÍøÂçµÄÁ÷Á¿ºÍ·ÖÎöÊǺÜÓÐ×÷ÓõÄ.Ò»¹²¿ÉÒÔÓÐ3ÖÖ·½Ê½´´½¨ÕâÖÖsocket
1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)·¢ËͽÓÊÕipÊý¾Ý°ü
2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))·¢ËͽÓÊÕÒÔ ......
errno
ÊǸöint±äÁ¿£¬·µ»Ø´íÎó
ÓдíÎóʱʹÓ÷½·¨
fprintf(fp, "%s", strerror(errno))
perrorÓ÷¨
#include <stdio.h>
#include <stdlib.h>
#include<errno.h>
int main(void)
{
FILE *fp;
if((fp=fopen("aaa.txt","r+"))==NULL)
{
puts("²»ÄܽøÈ ......