Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux»ùÓÚʼþÇý¶¯µÄ³ÌÐò¿ò¼Ü(×ªÔØ)

[ת]Linux 2.6 ÄÚºËEpollÓ÷¨¾ÙÀý˵Ã÷
epollÓõ½µÄËùÓк¯Êý¶¼ÊÇÔÚÍ·Îļþsys/epoll.hÖÐÉùÃ÷µÄ£¬ÏÂÃæ¼òҪ˵Ã÷ËùÓõ½µÄÊý¾Ý½á¹¹ºÍº¯Êý£º
ËùÓõ½µÄÊý¾Ý½á¹¹:
 
typedef union epoll_data {
void *ptr;
int fd;
__uint32_t u32;
__uint64_t u64;
} epoll_data_t;
struct epoll_event {
__uint32_t events; /* Epoll events */
epoll_data_t data; /* User data variable */
};
½á¹¹Ìåepoll_event ±»ÓÃÓÚ×¢²áËù¸ÐÐËȤµÄʼþºÍ»Ø´«Ëù·¢Éú´ý´¦ÀíµÄʼþ£¬ÆäÖÐepoll_data ÁªºÏÌåÓÃÀ´±£´æ´¥·¢Ê¼þµÄij¸öÎļþÃèÊö·ûÏà¹ØµÄÊý¾Ý£¬ÀýÈçÒ»¸öclientÁ¬½Óµ½·þÎñÆ÷£¬·þÎñÆ÷ͨ¹ýµ÷ÓÃacceptº¯Êý¿ÉÒԵõ½ÓÚÕâ¸öclient¶ÔÓ¦µÄsocketÎļþÃèÊö·û£¬¿ÉÒÔ°ÑÕâÎļþÃèÊö·û¸³¸øepoll_dataµÄfd×Ö¶ÎÒÔ±ãºóÃæµÄ¶Áд²Ù×÷ÔÚÕâ¸öÎļþÃèÊö·ûÉϽøÐС£epoll_event ½á¹¹ÌåµÄevents×Ö¶ÎÊDZíʾ¸ÐÐËȤµÄʼþºÍ±»´¥·¢µÄʼþ£¬³£ÓõÄȡֵΪ£º
EPOLLIN £º±íʾ¶ÔÓ¦µÄÎļþÃèÊö·û¿ÉÒÔ¶Á£»
EPOLLOUT£º±íʾ¶ÔÓ¦µÄÎļþÃèÊö·û¿ÉÒÔд£»
EPOLLPRI£º±íʾ¶ÔÓ¦µÄÎļþÃèÊö·ûÓнô¼±µÄÊý¾Ý¿É¶Á£»
EPOLLERR£º±íʾ¶ÔÓ¦µÄÎļþÃèÊö·û·¢Éú´íÎó£»
EPOLLHUP£º±íʾ¶ÔÓ¦µÄÎļþÃèÊö·û±»¹Ò¶Ï£»
EPOLLET£ºÉèÖÃΪ Edge Triggered ģʽ¡£
ËùÓõ½µÄº¯Êý£º
1¡¢epoll_createº¯Êý
º¯ÊýÉùÃ÷£ºint epoll_create(int size)
¸Ãº¯ÊýÉú³ÉÒ»¸öepollרÓõÄÎļþÃèÊö·û£¬ÆäÖÐ size ÌáʾÄÚºËÓ¦¸Ã·ÖÅä×ãÒÔÖ§³Ö size ¸öÃèÊö·ûµÄ¿Õ¼ä¡£
2¡¢epoll_ctlº¯Êý
º¯ÊýÉùÃ÷£ºint epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)
¸Ãº¯ÊýÓÃÓÚ¿ØÖÆÄ³¸öÎļþÃèÊö·ûÉϵÄʼþ£¬¿ÉÒÔ×¢²áʼþ£¬ÐÞ¸Äʼþ£¬É¾³ýʼþ¡£
²ÎÊý£ºepfd£ºÓÉ epoll_create Éú³ÉµÄepollרÓõÄÎļþÃèÊö·û£»
op£ºÒª½øÐеIJÙ×÷ÀýÈç×¢²áʼþ£¬¿ÉÄܵÄȡֵEPOLL_CTL_ADD ×¢²á¡¢EPOLL_CTL_MOD Ð޸ġ¢EPOLL_CTL_DEL ɾ³ý
fd£º¹ØÁªµÄÎļþÃèÊö·û£»
event£ºÖ¸Ïòepoll_eventµÄÖ¸Õ룻
Èç¹ûµ÷Óóɹ¦·µ»Ø0,²»³É¹¦·µ»Ø-1
3¡¢epoll_waitº¯Êý
º¯ÊýÉùÃ÷:int epoll_wait(int epfd,struct epoll_event * events,int maxevents,int timeout)
¸Ãº¯ÊýÓÃÓÚÂÖѯI/OʼþµÄ·¢Éú£»
²ÎÊý£º
epfd:ÓÉepoll_create Éú³ÉµÄepollרÓõÄÎļþÃèÊö·û£»
epoll_event:ÓÃÓڻش«´ý´¦ÀíʼþµÄÊý×飻
maxevents:ÿ´ÎÄÜ´¦ÀíµÄʼþÊý£»
timeou


Ïà¹ØÎĵµ£º

Linuxϵͳ²é¿´·þÎñÆ÷µ±Ç°Ê±¼ä

Linuxϵͳ²é¿´·þÎñÆ÷ʱ¼äºÜ¼òµ¥ÊäÈë"date"ÃüÁî¾Í¿ÉÒÔ.µ«ÊÇÓÐʱ·¢ÏֺܶàµÄ·þÎñÆ÷µÄµ±Ç°Ê±¼ä¶¼²»×¼È·,²»ÊÇÂý¾ÍÊÇ¿ìÁË,ÓеϹÏà²îÒ»¸öСʱ¡£ËäȻʱ¼ä²»×¼È·²»»áÓ°Ïì·þÎñÆ÷¹¤×÷£¬µ«ÊÇÎÒÃǼÈë×ÊÁÏ¡¢µÇ¼ÇһЩ¶«Î÷µÄʱ¼ä¶¼»á²»×¼È·¡£
¡¡¡¡ÒªÊÇ·¢ÏÖÎÒÃǵÄÓ¦ÓúÍÊý¾Ý¿â·þÎñÆ÷ϵͳʱ¼ä²»¶Ô¿ÉÒÔʹÓÃÕ⼸¸öÃüÁîÐ޸ģº
¡¡¡¡1¡¢ÏÈÉèÖÃÈ ......

LinuxÃüÁÈëÃÅ

1. cdÃüÁî ¸Ä±äµ±Ç°Ä¿Â¼
cd netseek //½øÈënetseekÕâ¸öĿ¼¡£

cd //Í˳öµ±Ç°Ä¿Â¼¡£
2 .
pwdÃüÁî ²é¿´µ±Ç°ËùÔÚĿ¼ÍêÕû·¾¶

eg: pwd //²é¿´µ±Ç°ËùÔÚĿ¼·¾¶¡£
3. lsÃüÁî ²é¿´Ä¿Â¼»òÕßÎļþµÄÊôÐÔ£¬ÁоٳöÈÎһĿ¼ÏÂÃæµÄÎļþ
eg: ls /usr/man
4. rmÃüÁî 
ɾ³ýÎļþºÍĿ¼
rm -rf   Ŀ¼Ãû×Ö/ ......

linux tinyxml±éÀú

·½·¨Ò»¡¢
bool ReadElemnt(string& szFileName)
{
 TiXmlDocument myDocument(szFileName);   
  bool loadOkay = myDocument.LoadFile();
  if(loadOkay == false)
   return false;
 TiXmlElement *rootElement = myDocument.RootElement();
 if(rootEle ......

Linux ½Å±¾±àд»ù´¡


1. Linux ½Å±¾±àд»ù´¡
1.1 Óï·¨»ù±¾½éÉÜ
1.1.1 ¿ªÍ·
³ÌÐò±ØÐëÒÔÏÂÃæµÄÐпªÊ¼£¨±ØÐë·½ÔÚÎļþµÄµÚÒ»ÐУ©£º
#!/bin/sh
¡¡¡¡·ûºÅ#!ÓÃÀ´¸æËßϵͳËüºóÃæµÄ²ÎÊýÊÇÓÃÀ´Ö´ÐиÃÎļþµÄ³ÌÐò¡£ÔÚÕâ¸öÀý×ÓÖÐÎÒÃÇʹÓÃ/bin/shÀ´Ö´ÐгÌÐò¡£
¡¡¡¡µ±±à¼­ºÃ½Å±¾Ê±£¬Èç¹ûÒªÖ´Ðиýű¾£¬»¹±ØÐëʹÆä¿ÉÖ´ÐС£
¡¡¡¡ÒªÊ¹½Å±¾¿ÉÖ´ÐУº
±àÒë ......

LinuxÆô¶¯¹ý³ÌÏê½â

±¾Ô­´´ÎÄÕÂÊôÓÚ¡¶Linux´óÅï¡·²©¿Í£¬²©¿ÍµØÖ·Îªhttp://roclinux.cn¡£ÎÄÕÂ×÷ÕßΪrocrocket¡£
Æô¶¯µÚÒ»²½£­£­¼ÓÔØBIOS
µ±Äã´ò¿ª¼ÆËã»úµçÔ´£¬¼ÆËã»ú»áÊ×ÏȼÓÔØBIOSÐÅÏ¢£¬BIOSÐÅÏ¢ÊÇÈç´ËµÄÖØÒª£¬ÒÔÖÁÓÚ¼ÆËã»ú±ØÐëÔÚ×ʼ¾ÍÕÒµ½Ëü¡£ÕâÊÇÒòΪBIOSÖаüº¬ÁËCPUµÄÏà¹ØÐÅÏ¢¡¢É豸Æô¶¯Ë³ÐòÐÅÏ¢¡¢Ó²ÅÌÐÅÏ¢¡¢ÄÚ´æÐÅÏ¢¡¢Ê±ÖÓÐÅÏ¢¡¢PnPÌØ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ