linux daemonº¯Êý
#include <unistd.h>
int daemon(int nochdir,int noclose)
ÔÚ´´½¨¾«Áé½ø³ÌµÄʱºò,ÍùÍùÐèÒª½«¾«Áé½ø³ÌµÄ¹¤×÷Ŀ¼ÐÞ¸ÄΪ"/"¸ùĿ¼
²¢ÇÒ½«±ê×¼ÊäÈë,Êä³öºÍ´íÎóÊä³öÖØ¶¨Ïòµ½/dev/null
daemonµÄ×÷ÓþÍÊǵ±²ÎÊýnochdirΪ0ʱ,½«¸ùĿ¼ÐÞ¸ÄΪ¹¤×÷Ŀ¼
nocloseΪ0ʱ,×öÊäÈë,Êä³öÒÔ¼°´íÎóÊä³öÖØ¶¨Ïòµ½/dev/null
Ö´Ðгɹ¦·µ»Ø0
´íÎó·µ»Ø-1
Ïà¹ØÎĵµ£º
chmod £»ÐÞ¸ÄĿ¼ȨÏÞ
eg£ºchmod o-t /tmp
touch:´´½¨ÐÂÎļþ
rm -rf:ɾ³ýÎļþ
set gid ¶ÔĿ¼µÄ×÷ÓÃ
1£ºÄ¬ÈÏÇé¿öÏ£¬Óû§½¨Á¢µÄÎļþÊôÓÚÓû§µ±Ç°ËùÔÚµÄ×é
2£ºÄ¿Â¼ÉÏÉèÖÃÁËsetgid£¬±íʾÔÚ´ËĿ¼ÖУ¬ÈκÎÈ˽¨Á¢µÄÎļþ£¬¶¼»áÊôÓÚĿ¼ËùÊôµÄ×é¡£
rm -rf test //ɾ³ý֮ǰµÄtestĿ¼
mkdir test // ÔÚµ±Ç°Ä¿Â¼´´½¨Ò ......
CÓïÑÔÖеijéÏóº¯Êý¶¨ÒåÒ²¾ÍÊÇʹÓÃÁ˺¯ÊýÖ¸Õ룬ÕâÀïÓÃsignalº¯Êý½âÊÍһϳéÏóº¯Êý¶¨ÒåµÄº¬ÒåºÍ¹æÔò¡£
signalº¯Êý¶¨ÒåΪ£º
void ( * signal (int signum , void (*handler)(int) ) )(int);
¿ÉÒÔÕâÑù¶¨Òå
typedef void(* handler) (int)
handler signal(int signum,handler) ......
ÄÚºËÇý¶¯·ÖÀà
Çý¶¯ÊµÏÖ¹¦ÄÜ£º
¶Á
д
´ò¿ª
ÉèÖÃ
×îÖÕÄ¿µÄ²Ù×÷Ó²¼þÉ豸£ºÊý¾Ý´«ÊäºÍÊý¾Ý¿ØÖÆ
Ó²¼þ²Î¿¼ÊֲᣬÄÚºËÌṩµÄ¹¦ÄÜ£º²Ù×÷ʱÐò£¬×ÜÏßÈçºÎ²Ù×÷£¬ÄÚºËAPI
1.×Ö·ûÉ豸£¨char£©
2.¿éÉ豸£¨block£©
3.ÍøÂçÉ豸£¨net£©
ÄÚºËÄ£¿é²Ù×÷ÃüÁî
make
¼ÓÔØ:sudo modprobe ./Mo ......
Ëæ×ÅLinuxµÄÆÕ¼°£¬ÈçºÎÔÚLinuxƽ̨ϽøÐбà³Ì£¬ÓÈÆäÊÇ»ã±à³ÉΪ´ó¼Ò¹Ø×¢µÄÒ»¸öÎÊÌ⣬µ«ÊÇÕâ·½Ãæ×ÊÁÏÈ´ºÜÉÙ¡£ÔÚ±é·ÃÍøÕ¾ºÍÂÛ̳ºó£¬ÎÒ°ÑÊÕ¼¯µ½µÄ×ÊÁϽáºÏ±¾ÈË×ܽáµÄһЩ¾Ñé¸ú´ó¼Ò·ÖÏíһϡ£
Nasm½éÉÜ
LinuxϵĻã±à±àÒëÆ÷ÓжàÖÖ£¬Óï·¨Ò²²»¾¡Ïàͬ£¬ÆäÖÐGASÊDZȽϻù±¾µÄ»ã±à¹¤¾ß¡£µ«ÊÇGAS²ÉÓõIJ»ÊÇÎÒÃÇͨ³£ÔÚDOSÌåϵÏÂʹÓà ......
1.ÏÂÔØlinux kernelÔ´´úÂë
µ½http://www.kernel.org/ÏÂÔØlinuxÄÚºËÔ´´úÂë,ÕâÀïÎÒÃÇʹÓÃ2.6.24.4µÄÄÚºË.
½âѹlinux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ tar -xvjf linux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ cd linux-2.6.24.4
2.ÐÞ¸ÄMakefile,ÉèÖý»²æ±àÒëÆ÷
ARCH ?= arm
CROSS_COMPILE ......