LinuxÄں˵Äioctlº¯Êýѧϰ
ÎÒÕâÀï˵µÄioctlº¯ÊýÊÇÔÚÇý¶¯³ÌÐòÀïµÄ£¬ÒòΪÎÒ²»ÖªµÀ»¹ÓÐûÓбðµÄ³¡ºÏÓõ½ÁËioctl£¬ ËùÒԾ͹涨ÁËÎÒÃÇÌÖÂ۵ķ¶Î§¡£ÎªÊ²Ã´ÒªÐ´ÆªÎÄÕÂÄØ£¬ÊÇÒòΪÎÒǰһÕó×Ó±»ioctl¸ø¸ã»ìÁË£¬Õ⼸Ìì²ÅŪÃ÷°×Ëü£¬ÓÚÊÇÔÚÕâÀïÇåÀíÒ»ÏÂÍ·ÄÔ¡£
Ò»¡¢ ʲôÊÇioctl¡£
ioctlÊÇÉ豸Çý¶¯³ÌÐòÖжÔÉ豸µÄI/OͨµÀ½øÐйÜÀíµÄº¯Êý¡£Ëùν¶ÔI/OͨµÀ½øÐйÜÀí£¬¾ÍÊǶÔÉ豸µÄÒ»Ð©ÌØÐÔ½øÐпØÖÆ£¬ÀýÈç´®¿ÚµÄ´«Êä²¨ÌØÂÊ¡¢Âí´ïµÄתËٵȵȡ£ËüµÄµ÷ÓøöÊýÈçÏ£º
int ioctl(int fd, ind cmd, …)£»
ÆäÖÐfd¾ÍÊÇÓû§³ÌÐò´ò¿ªÉ豸ʱʹÓÃopenº¯Êý·µ»ØµÄÎļþ±êʾ·û£¬cmd¾ÍÊÇÓû§³ÌÐò¶ÔÉ豸µÄ¿ØÖÆÃüÁÖÁÓÚºóÃæµÄÊ¡ÂԺţ¬ÄÇÊÇһЩ²¹³ä²ÎÊý£¬Ò»°ã×î¶àÒ»¸ö£¬ÓлòûÓÐÊǺÍcmdµÄÒâÒåÏà¹ØµÄ¡£
ioctlº¯ÊýÊÇÎļþ½á¹¹ÖеÄÒ»¸öÊôÐÔ·ÖÁ¿£¬¾ÍÊÇ˵Èç¹ûÄãµÄÇý¶¯³ÌÐòÌṩÁ˶ÔioctlµÄÖ§³Ö£¬Óû§¾Í¿ÉÒÔÔÚÓû§³ÌÐòÖÐʹÓÃioctlº¯Êý¿ØÖÆÉ豸µÄI/OͨµÀ¡£
¶þ¡¢ ioctlµÄ±ØÒªÐÔ
Èç¹û²»ÓÃioctlµÄ»°£¬Ò²¿ÉÒÔʵÏÖ¶ÔÉ豸I/OͨµÀµÄ¿ØÖÆ£¬µ«ÄǾÍÊÇÂùÅ¡ÁË¡£ÀýÈ磬ÎÒÃÇ¿ÉÒÔÔÚÇý¶¯³ÌÐòÖÐʵÏÖwriteµÄʱºò¼ì²éÒ»ÏÂÊÇ·ñÓÐÌØÊâ Ô¼¶¨µÄÊý¾ÝÁ÷ͨ¹ý£¬Èç¹ûÓеϰ£¬ÄÇôºóÃæ¾Í¸ú×Å¿ØÖÆÃüÁһ°ãÔÚsocket±à³ÌÖг£³£ÕâÑù×ö£©¡£µ«ÊÇÈç¹ûÕâÑù×öµÄ»°£¬»áµ¼Ö´úÂë·Ö¹¤²»Ã÷£¬³ÌÐò½á¹¹»ì ÂÒ£¬³ÌÐòÔ±×Ô¼ºÒ²»áÍ·»èÑÛ»¨µÄ¡£
ËùÒÔ£¬ÎÒÃǾÍʹÓÃioctlÀ´ÊµÏÖ¿ØÖƵŦÄÜ¡£Òª¼Çס£¬Óû§³ÌÐòËù×÷µÄÖ»ÊÇͨ¹ýÃüÁîÂë¸æËßÇý¶¯³ÌÐòËüÏë×öʲô£¬ÖÁÓÚÔõô½âÊÍÕâЩÃüÁîºÍÔõôʵÏÖÕâЩÃüÁÕâ¶¼ÊÇÇý¶¯³ÌÐòÒª×öµÄÊÂÇé¡£
Èý¡¢ ioctlÈçºÎʵÏÖ
ÕâÊÇÒ»¸öºÜÂé·³µÄÎÊÌ⣬ÎÒÊÇÄÜÊ¡ÔòÊ¡¡£ÒªËµÇå³þËü£¬Ã»ÓÐËÄÎåǧ×ÖÊDz»Ðеģ¬ËùÒÔÎÒÕâÀïÊDz»¿ÉÄܰÑËü˵µÃ·Ç³£Çå³þÁË£¬²»¹ýÈç¹ûÓжÁÕß¶ÔÓû§³ÌÐòÔõôºÍ Çý¶¯³ÌÐòÁªÏµÆðÀ´¸ÐÐËȤµÄ»°£¬¿ÉÒÔ¿´ÎÒǰһÕó×ÓдµÄ¡¶writeµÄ°ÂÃØ¡·¡£¶ÁÕßÖ»Òª°Ñwrite»»³Éioctl£¬¾ÍÖªµÀÓû§³ÌÐòµÄioctlÊÇÔõôºÍÇý¶¯ ³ÌÐòÖеÄioctlʵÏÖÁªÏµÔÚÒ»ÆðµÄÁË¡£
ÎÒÕâÀï˵һ¸ö´ó¸Å˼·£¬ÒòΪÎÒ¾õµÃ¡¶LinuxÉ豸Çý¶¯³ÌÐò¡·Õâ±¾ÊéÒѾ˵µÄ·Ç³£Çå³þÁË£¬µ«Êǵû¯Ò»Ð©Ê±¼äÀ´¿´¡£
ÔÚÇý¶¯³ÌÐòÖÐʵÏÖµÄioctlº¯ÊýÌåÄÚ£¬Êµ¼ÊÉÏÊÇÓÐÒ»¸öswitch{case}½á¹¹£¬Ã¿Ò»¸öcase¶ÔÓ¦Ò»¸öÃüÁîÂ룬×ö³öһЩÏàÓ¦µÄ²Ù×÷¡£Ôõôʵ ÏÖÕâЩ²Ù×÷£¬ÕâÊÇÿһ¸ö³ÌÐòÔ±×Ô¼ºµÄÊÂÇ飬ÒòΪÉ豸¶¼ÊÇÌØ¶¨µÄ£¬ÕâÀïҲû·¨Ëµ¡£¹Ø¼üÔÚÓÚÔõôÑù×éÖ¯ÃüÁîÂ룬ÒòΪÔÚioctlÖÐÃüÁîÂëÊÇΨһÁªÏµÓû§³ÌÐòÃü ÁîºÍÇý¶¯³ÌÐòÖ§³ÖµÄ;¾¶¡£
ÃüÁîÂëµÄ×éÖ¯ÊÇÓÐһЩ½²¾¿µÄ£¬ÒòΪÎÒÃÇÒ»¶¨Òª×öµ½ÃüÁîºÍÉ豸ÊÇÒ»Ò»¶ÔÓ¦µÄ£¬
Ïà¹ØÎĵµ£º
´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......
Ò»¡¢¶ÔÎļþµÄ½éÉܺͲÙ×÷
1) Linux ϵͳµÄÎļþ ºÍĿ¼ ¶¼ÓÐÈýÖÖ·ÃÎÊȨÏÞ·Ö±ðΪ£º¶Áread(r),write(w),execute(x)
2) linux ÎļþÓû§ÓÐÈýÖÖ£ºÎļþËùÓÐÕßuser£¬group£¬ÆäËüÈËothers
3)& ......
This document shows how to write a daemon in Linux using GCC. Knowledge of Linux and a familiarity with C are necessary to use this document. This HOWTO is Copyright by Devin Watson, under the terms of the BSD License.
1. Introduction: What is a Daemon?
2. Getting Started
3. Planning Your Daemo ......
1. ÐÞ¸ÄIPµØÖ· # vi /etc/sysconfig/network-scripts/ifcfg-eth0
ÐÞ¸ÄÒÔÏÂÄÚÈÝ
DEVICE=eth0 #ÃèÊöÍø¿¨¶ÔÓ¦µÄÉ豸±ðÃû£¬ÀýÈçifcfg-eth0µÄÎļþÖÐËüΪeth0
BOOTPROTO=static #ÉèÖÃÍø¿¨»ñµÃipµØÖ·µÄ·½Ê½£¬¿ÉÄܵÄÑ¡ÏîΪstatic£¬dhcp»òbootp£¬·Ö±ð¶ÔÓ¦¾²Ì¬Ö¸¶¨µÄ ipµØÖ·£¬Í¨¹ýdhcpÐÒé»ñµÃµÄipµØÖ·£ ......