¹ØÓÚlinuxµÄ´®¿Ú×èÈûÓë·Ç×èÈûͨÐÅÉèÖÃÎÊÌâ
´ó¼ÒºÃ£º
¹ØÓÚlinuxµÄ´®¿ÚͨÐÅÉèÖÃÓÐÒ»¸öÎÊÌâ²»Ã÷°×£¬»¹Çë´ó¼Ò°ïæ¿´Ï£º
ÒªÉèÖÃΪ×èÈûÐͶÁÈ¡£º
·½Ê½1£ºÄÇôopenµÄʱºò²»´ø O_NODELY/O_NOBLOCK Õâ¸ö²ÎÊý£¬Èç¹û´øÁ˾ÍÊÇ·Ç×èÈû
·½Ê½2£ºÍ¨¹ýÉèÖÃc_cc[VMIN] > 0Ϊ×èÈû£¬ =0 ʱΪ·Ç×èÈû
·½Ê½3£ºopenʱ´øÁËO_NODELY/O_NOBLOCK £¬È»ºóͨ¹ýfcntl(fd, F_SETFL, 0)À´»Ö¸´¡£
ÎÊÌâÊÇ£º
ÎÒ×Ô¼º²âÊÔÏÂÀ´·¢ÏÖÉèÖÃc_cc[VMIN] > 0ºó£¬²»¹ÜopenµÄʱºò´ø²»´øO_NODELY/O_NOBLOCK £¬¶¼Îª×èÈûÐÍÁË¡£Ò²¾ÍÊÇ˵Õâ3ÖÖ·½Ê½µÄ±¾ÖÊÆäʵ¾ÍÊÇÉèÖÃc_cc[VMIN]¾ö¶¨×èÈû»¹ÊDz»×èÈû£¿ÊÇÕâÑùô£¿
ÉèÖô®¿ÚµÄʱºòÒ»°ãÐèÒªÉèÖõľÍÊDz¨ÌØÂÊ£¬ÆæżУÑ飬ֹͣλ£¬Ó²¼þ¿ØÖÆÁ÷µÈ¡£
¶ø¶ÔÓÚ´ò¿ªÊ±µÄÊôÐÔÈç×èÈûÓë·Ç×èÈû£¬¿ÉÒÔͨ¹ýopen£¨£©À´ÉèÖã¬Èç
int fd;
fd=open("filename",O_NONBLOCK);
»òÕßͨ¹ýfcntl£¨£©À´ÉèÖá£
int flags;
if((flags=fcntl(fd,F_GETFL,0))==-1){
PERROR("fcntl ERR:get the fd attribute failure\n");
PDEBUG("errno=%d\n",errno);
return flags;
}
else{ /*set the socket to be the specific I/O mode*/
fcntl(fd,F_SETFL,flags|IO_MODE);
}
Ï£ÍûÓиü¶àµÄÅóÓÑÀ´·¢·¢ÑÔŶ¡£¡£¡£¡£¡££¡
ÎÒÕâÀï˵µÄ¡°c_cc[VMIN] > 0Ϊ×èÈû£¬ =0 ʱΪ·Ç×èÈû¡±ÊÇtermios½á¹¹ÌåÖеĿØÖÆÌØÐÔ
Ïà¹ØÎÊ´ð£º
ÎÒÄ¿Ç°ÔÚ±¾µØµÄlinuxÉÏдÁËÒ»¸öswingµÄ½çÃ棬Ïëͨ¹ýÕâ¸ö½çÃæÀ´¿ØÖÆÆäËüµçÄÔµÄlinuxÖØÆô¡£
ÎÒÖªµÀÓÃRuntime.getRuntime().exec("shutdown -r");¿ÉÒÔ¿ØÖƱ¾»úLinuxÖØÆô£¬µ«ÊÇÔõô¿ØÖÆÔ¶³ÌµÄlinuxÖØÆôÄØ£¿ ......
¸Õ²Å·¢ÏÖÓÐ×îеÄlinux kernel·¢²¼ÁË£¬ÎÒÒ²ÊǸölinux°®ºÃÕߣ¬Ö»²»¹ýÊǸöÐÂÊÖ£¬Ê²Ã´¶¼²»¶®£¬ÎÒÏëÎÊһϣ¬Èç¹ûÎÒÓÐkernelµÄ»°£¬ÎÒÄܱàÒë³É×Ô¼ºµÄϵͳÂð£¿ÊDz»ÊÇÓÃkernelÔÙÅäÉϸö×ÀÃæ»·¾³¾Í¿ÉÒÔ×ö³É×Ô¼ºµÄ²Ù×÷ϵͳÄØ£¿Î ......
ÏÖÔÚÎÒÓÐÁ½Ì¨»ú Ò»¸öÔÚ¼Ò Ò»¸öÔÚѧУ ÔÚѧУµÄÄÇ̨»ú×Ó²»ÄÜÉÏÍø ÎҰѼÒÀïµÄÄÇ̨»ú×Ó¸üе½×îÐÂÁË È»ºó°Ñ /var/cache/apt/archives ϵÄËùÓÐDeb°ü¸´ÖƵ½Ñ§Ð£ÄÇ̨ûÁªÍøµÄ»ú×ÓÉÏÁË&nbs ......
ÎÒÃÇÁ¥ÊôÖпÆÔº¼ÆËãËùÍøÂçÖصãʵÑéÊÒ(http://www.ict.ac.cn/survey/channel/detail443.asp)»ù´¡ÉèÊ©¿ÎÌâ×é.
ÏÖÒòÏîÄ¿ºÍÒµÎñÍØÕ¹µÄÐèÒª,ÌØÐèÒªÕÐƸÓëÏîÄ¿Ïà¹ØµÄÍøÂçÓ¦Óù¤³Ìʦ1-2Ãû¡£
¾ßÌåÒªÇóÈçÏ¡£ÓÐÒâÕß ......