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 // ÔÚµ±Ç°Ä¿Â¼´´½¨Ò ......
Ä¿µÄ£º
±¾ÎÄÊÇ¡¶Ò»ÖÖ¶¨Î»ÄÚ´æÐ¹Â¶µÄ·½·¨£¨Solaris£©¡·¶ÔÓ¦µÄLinux°æ±¾£¬µ÷ÊÔÆ÷ʹÓÃgdb¡£Ö÷Òª½éÉÜʵÀý²¿·Ö¡£ÆäËûÇë¼û¡¶Ò»ÖÖ¶¨Î»ÄÚ´æÐ¹Â¶µÄ·½·¨£¨Solaris£©¡·¡£
ʵÀý£º
Ä£Äânewʧ°ÜµÄ³ÌÐò£º
#include <stdexcept>
class ABC
{
public:
virtual ~ABC(){}
&nb ......
¿´Ô´´úÂë¡£
#include <linux/kernel.h>
#include <linux/module.h>
#if CONFIG_MODVERSIONS==1
#define MODVERSIONS
#include <linux/modversions.h>
#endif
int init_module()
{
printk("Hello, I'm kernel\n");
return 0;
}
void cleanup_module()
{
printk("I'm kernel, bye\n");
} ......
¡¡¡¡REDHAT
´´½¨ÓÚ1993Ä꣬ÊÇ
Ä¿ÊÀ½çÉÏ×î×ÊÉîµÄLinuxºÍ¿ª·ÅÔ´´úÂëÌṩÉÌ£¬Í¬Ê±Ò²ÊÇ×î»ñÈϿɵÄLinux
Æ·ÅÆ¡£»ùÓÚ¿ª·ÅÔ´´úÂëģʽ£¬ºìñΪȫÇòÆóÒµÌṩרҵ¼¼ÊõºÍ·þÎñ¡£ºìñµÄ½â¾ö
·½°¸°üÀ¨ºìñÆóÒµLinux²Ù×÷ƽ̨£¬ÒÔ¼°ÆäËûÄÚÈݹ㷺µÄ·þÎñ£¬Èç:×Éѯ£¬24X7¼¼ÊõÖ§³ÖºÍºìÃ±ÍøÂç(RHN)¡£ºìñÒÔ¶©ÔĵÄÉÌҵģʽÏòÓû§Ìṩ²»¼ä¶Ï
µ ......
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 ......