Linux¶¨Ê±ÈÎÎñϵͳCronÈëÃÅ
cronÊÇÒ»¸ölinuxÏµĶ¨Ê±Ö´Ðй¤¾ß£¬¿ÉÒÔÔÚÎÞÐèÈ˹¤¸ÉÔ¤µÄÇé¿öÏÂÔËÐÐ×÷Òµ¡£ÓÉÓÚCron ÊÇLinuxµÄÄÚÖ÷þÎñ£¬µ«Ëü²»×Ô¶¯ÆðÀ´£¬¿ÉÒÔÓÃÒÔÏµķ½·¨Æô¶¯¡¢¹Ø±ÕÕâ¸ö·þÎñ£º
¡¡¡¡/sbin/service crond start //Æô¶¯·þÎñ
¡¡¡¡/sbin/service crond stop //¹Ø±Õ·þÎñ
¡¡¡¡/sbin/service crond restart //ÖØÆô·þÎñ
¡¡¡¡/sbin/service crond reload //ÖØÐÂÔØÈëÅäÖÃ
¡¡¡¡ÄãÒ²¿ÉÒÔ½«Õâ¸ö·þÎñÔÚϵͳÆô¶¯µÄʱºò×Ô¶¯Æô¶¯£º
¡¡¡¡ÔÚ/etc/rc.d/rc.localÕâ¸ö½Å±¾µÄĩβ¼ÓÉÏ£º
¡¡¡¡/sbin/service crond start
¡¡¡¡ÏÖÔÚCronÕâ¸ö·þÎñÒѾÔÚ½ø³ÌÀïÃæÁË£¬ÎÒÃǾͿÉÒÔÓÃÕâ¸ö·þÎñÁË£¬Cron·þÎñÌṩÒÔϼ¸ÖÖ½Ó¿Ú¹©´ó¼ÒʹÓãº
¡¡¡¡1.Ö±½ÓÓÃcrontabÃüÁî±à¼
¡¡¡¡cron·þÎñÌṩcrontabÃüÁîÀ´É趨cron·þÎñµÄ£¬ÒÔÏÂÊÇÕâ¸öÃüÁîµÄһЩ²ÎÊýÓë˵Ã÷£º
¡¡¡¡crontab -u //É趨ij¸öÓû§µÄcron·þÎñ£¬Ò»°ãrootÓû§ÔÚÖ´ÐÐÕâ¸öÃüÁîµÄʱºòÐèÒª´Ë²ÎÊý
¡¡¡¡crontab -l //Áгöij¸öÓû§cron·þÎñµÄÏêϸÄÚÈÝ
¡¡¡¡crontab -r //ɾ³ýû¸öÓû§µÄcron·þÎñ
¡¡¡¡crontab -e //±à¼Ä³¸öÓû§µÄcron·þÎñ
¡¡¡¡±ÈÈç˵root²é¿´×Ô¼ºµÄcronÉèÖãºcrontab -u root -l
¡¡¡¡ÔÙÀýÈ磬rootÏëɾ³ýfredµÄcronÉèÖãºcrontab -u fred -r
¡¡¡¡ÔÚ±à¼cron·þÎñʱ£¬±à¼µÄÄÚÈÝÓÐһЩ¸ñʽºÍÔ¼¶¨£¬ÊäÈ룺crontab -u root -e
¡¡¡¡½øÈëvi±à¼Ä£Ê½£¬±à¼µÄÄÚÈÝÒ»¶¨Òª·ûºÏÏÂÃæµÄ¸ñʽ£º*/1 * * * * ls >> /tmp/ls.txt
¡¡¡¡Õâ¸ö¸ñʽµÄǰһ²¿·ÖÊǶÔʱ¼äµÄÉ趨£¬ºóÃæÒ»²¿·ÖÊÇÒªÖ´ÐеÄÃüÁÈç¹ûÒªÖ´ÐеÄÃüÁîÌ«¶à£¬¿ÉÒÔ°ÑÕâЩÃüÁîдµ½Ò»¸ö½Å±¾ÀïÃæ£¬È»ºóÔÚÕâÀïÖ±½Óµ÷ÓÃÕâ¸ö½Å±¾¾Í¿ÉÒÔÁË£¬µ÷ÓõÄʱºò¼ÇµÃд³öÃüÁîµÄÍêÕû·¾¶¡£Ê±¼äµÄÉ趨ÎÒÃÇÓÐÒ»¶¨µÄÔ¼¶¨£¬Ç°ÃæÎå¸ö*ºÅ´ú±íÎå¸öÊý×Ö£¬Êý×ÖµÄȡֵ·¶Î§ºÍº¬ÒåÈçÏ£º
¡¡¡¡·ÖÖÓ¡¡£¨0-59£©
¡¡¡¡Ð¡Ê±¡¡£¨0-23£©
¡¡¡¡ÈÕÆÚ¡¡£¨1-31£©
¡¡¡¡Ô·ݡ¡£¨1-12£©
¡¡¡¡ÐÇÆÚ¡¡£¨0-6£©//0´ú±íÐÇÆÚÌì
¡¡¡¡³ýÁËÊý×Ö»¹Óм¸¸ö¸öÌØÊâµÄ·ûºÅ¾ÍÊÇ"*"¡¢"/"ºÍ"-"¡¢","£¬*´ú±íËùÓеÄȡֵ·¶Î§ÄÚµÄÊý×Ö£¬"/"´ú±íÿµÄÒâ˼,"*/5"±íʾÿ5¸öµ¥Î»£¬"-"´ú±í´Óij¸öÊý×Öµ½Ä³¸öÊý×Ö,","·Ö¿ª¼¸¸öÀëÉ¢µÄÊý×Ö¡£ÒÔϾټ¸¸öÀý×Ó˵Ã÷ÎÊÌ⣺
¡¡¡¡Ã¿ÌìÔçÉÏ6µã
¡¡¡¡0 6 * * * echo "Good morning." >> /tmp/test.txt //×¢Òâµ¥´¿echo£¬´ÓÆÁÄ»ÉÏ¿´²»µ½ÈκÎÊä³ö£¬ÒòΪcron°ÑÈκÎÊä³ö¶¼emailµ½rootµÄÐÅÏäÁË¡£
¡¡¡¡Ã¿Á½¸öСʱ
¡¡¡¡0 */2 * * * echo "Have a break now." >> /tmp/test.txt
¡¡¡¡ÍíÉÏ11µãµ½ÔçÉÏ8µãÖ®¼äÿÁ½
Ïà¹ØÎĵµ£º
Ôø×ö¹ýsignalÏà¹ØµÄÒ»µã¶ù¿ª·¢£¬Ì¸Ì¸ÎÒµÄһЩÀí½â¡£
Ê×ÏÈ£¬ÐèÒªÀí½â¼¸¸ösignalÏà¹ØµÄº¯Êý¡£
sigaddset(sigset_t* sigSet, int sigNum ) : ½«ÐźÅsigNum Ìí¼Óµ½Ðźż¯ sigSet ÖУ»
sigdelset(sigset_t* sigSet, int sigNum) : ½«ÐźŠsigNum ´ÓÐźż¯ sigSet ÖÐɾ³ý£»
......
°²×°£¬Éý¼¶ºÍÐ¶ÔØÓ¦ÓÃÈí¼þÊÇÓ°ÏìÓû§¶Ô²Ù×÷ϵͳÆÀ¼ÛµÄ¾ö¶¨ÐÔÒòËØÖ®Ò»¡£¶ÔÓÚÈÕ½¥Á÷ÐÐµÄ GNU/Linux ²Ù×÷ϵͳ£¬ÓµÓмò½àÇ¿´óµÄÈí¼þ°ü¹ÜÀí»úÖÆ¹¦²»¿Éû¡£±¾ÎÄ´Ó»ù±¾µÄ rpm/dpkg ÃüÁîÐгö·¢£¬ÒÔ RHEL ºÍ UBUNTU ΪÀý£¬½éÉܵäÐÍ Linux ϵͳÖÐÓ¦ÓÃÈí¼þµÄ¹ÜÀíºÍʹÓá£
RPM/DPKG Á½´óÕóÓª¼ò½é
ÔÚ GNU/Linux( ÒÔϼò³Æ Linux) ²Ù×÷Ï ......
¡ð
¡¢ËµÃ÷
±Ê¼ÇÊÊÓÃÓÚ
Linux
µÄ
2.6.10
ÒÔºóµÄÄںˡ£
±Ê¼ÇÒÔ
Linux
Device
Driver3
ÌṩµÄ
scull
³ÌÐò
(scull
Ŀ¼ÖеÄ
main.c
ºÍ
scull.h)
Ϊ¼Ç¼Ö÷Ïߣ¬²¢ÒÔ¸ÃÇý¶¯³ÌÐòÖеĸ÷ÖÖϵͳµ÷Óúͺ¯Êýµ÷ÓÃÁ÷³ÌΪ¼Ç
¼˳Ðò¡£±ÈÈ磬
module_init( )
ºÍ
module_exit(
)
ΪÏà¶ÔÓ¦µÄÒ»¶Ôϵͳµ÷Óã¬Ò»°ãÊé¼®Öж ......
±¾ÀýÊÇ·ë¹ú½øµÄ ¡¶Ç¶ÈëʽLinux Çý¶¯³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡·µÄµÚÒ»¸öÀý×Ó
¸Ð¾õÕæÊǺÃÊé Ç¿ÁÒÍÆ¼ö
×¢ÊÍÊÇdeep_pro¼ÓµÄ ×ªÔØÇë×¢Ã÷£¡ÎÒµÄÌØµãÊÇÎIJ»¼Óµã£¡
Õâ¸öÇý¶¯ÊÇÔÚÄÚ´æÖзÖÅäÒ»¸ö256×ֽڵĿռ䣬¹©Óû§Ì¬Ó¦ÓóÌÐò¶Áд¡£
ÏÈÊÇÍ·Îļþ demo.h
#ifndef _DEMO_H_
#define _DEMO_H_
#include <linux/ioct ......
˵ʵ»°£¬ÐźÅÊÇÎÒÌÖÑáµÄ¶«Î÷£¬ÔÚÎÒЩµÄ´úÂëÖУ¬ÎÒ¶¼ÏëÓÃ×î¼òµ¥µÄ°ì·¨À´´¦ÀíËü£¬ÏÖÔÚÓöµ½¶àÏß³ÌÖÐÐźŵĴ¦Àí£¬APUEÖеÄ˵·¨Ò²¿´µÃ²»ÊǺܶ®£¬CSDNÖÐһλÅóÓÑÓÐÈçϵÄ×ܽᣬÏȼÇÔÚÕâÀï¡£
1. ĬÈÏÇé¿öÏ£¬ÐźŽ«ÓÉÖ÷½ø³Ì½ÓÊÕ´¦Àí£¬¾ÍËãÐźŴ¦Àíº¯ÊýÊÇÓÉ×ÓÏß³Ì×¢²áµÄ
2. ÿ¸öÏ߳̾ùÓÐ×Ô¼ºµÄÐÅºÅÆÁ±Î×Ö£¬¿ÉÒÔʹÓÃsigprocmaskº¯ ......