Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linuxÎļþϵͳ±ä»¯Í¨Öª»úÖÆ

 Ò»¡¢dnotify»úÖÆ
 1¡¢Ê¹ÓÃ
  Í¨¹ý¶ÔÎļþÃèÊö·ûÉèÖüàÌýÐźÅʵÏÖ¡£
  //ÉèÖÃÎļþÏàÓ¦ÐźÅ
  fcntl(fd, F_SETSIG, SIGRTMIN + 1);
  //ÉèÖøÃÎļþÒª¼àÌýʼþ
  fcntl(fd, F_NOTIFY, DN_ACCESS|DN_MODIFY|DN_CREATE|DN_RENAME|DN_DELETE|DN_ATTRIB|DN_MULTISHOT);
  Ê£ÏµľÍÊÇÐźŴ¦ÀíÁË¡£
 2¡¢È±µã
  È±µã1£ºdnotify»úÖÆ¶Ô¼àÊÓµÄÿ¸öÎļþ¼Ð¶¼´ò¿ªÁËÒ»¸öÎļþÃèÊö·û£¬Èç¹ûÎļþ¼ÐËùÔÚÎļþϵͳÐèÒªumount¾Í²»ÐÐÁË¡£
  È±µã2£ºdnotify»úÖÆÖ»ÄܶÔÎļþ¼Ð½ø³Ì¼àÊÓ¡£
 3¡¢Ó¦ÓÃ
 Àý×Ó£º
//ÒªÓÃfcntl( fd, F_SETSIG, SIGRTMIN + 1 )¾ÍÒªÉèÖÃÕâ¸öºê
#define _GNU_SOURCE 1
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#define FOLDER_MAXLEN 128
static char listen_folder[FOLDER_MAXLEN];
static void myhandler( int );
int set_folder_signal( void )
{
struct sigaction act;
int fd;
act.sa_handler = myhandler;
sigemptyset( &act.sa_mask );
act.sa_flags = 0;
sigaction( SIGRTMIN + 1, &act, NULL );
if(( fd = open( listen_folder, O_RDONLY )) < 0 )
return -1;
printf( "fd=%d\n", fd );
fcntl( fd, F_SETSIG, SIGRTMIN + 1 );
fcntl( fd, F_NOTIFY, DN_CREATE );
return 0;
}
int main(int argc, char *argv[] )
{
if( argc != 2 )
{
printf( "%s filepath\n", argv[0] );
exit( 0 );
}
strncpy( listen_folder, argv[1], FOLDER_MAXLEN - 1 );
if( set_folder_signal( ) < 0 )
{
printf( "set signal to %s fail\n", argv[1] );
exit( 0 );
}
while( 1 )
{
pause();
printf( "a signal return\n" );
}
}
static void myhandler( int signo )
{
printf( "signalno=%d,a file was creat\n", signo );
set_folder_signal();
}
ÒÔÉÏÀý×ÓÐźŴ¦Àíº¯ÊýÖ»Äܵõ½ÐźűàºÅÐÅÏ¢¡£¿ÉÒÔͨ¹ýsa_sigactionÐźŴ¦Àíº¯ÊýÀ´»ñµÃ¸ü¶àÐÅÏ¢£¬µ«Ò²ºÜÓÐÏÞ¡£±ÈÈçÎļþÃèÊö·û¡£
Àý×Ó£º
//ÒªÓÃfcntl( fd, F_SETSIG, SIGRTMIN + 1 )¾ÍÒªÉèÖÃÕâ¸öºê
#define _GNU_SOURCE 1
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <


Ïà¹ØÎĵµ£º

LinuxÄÚºËÅäÖÃÎĵµ(make menuconfig)

Ò»¡¢ÒýÑÔ£º
    ±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾­Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾­Ñ飨Õâ¸ö»¹µ ......

linux½ø³ÌÖ®¼äµÄͨÐÅ

¸¸×Ó½ø³ÌÈçºÎͨÐÅ£¿
Ò»¶Ô¸¸×Ó½ø³Ì¿ÉÒÔͨ¹ýÕý³£µÄ½ø³Ì¼äͨÐŵİ취(¹ÜµÀ£¬Ì×½Ó×Ö£¬ÏûÏ¢¶ÓÁУ¬¹²ÏíÄÚ´æ)½øÐÐͨÐÅ£¬µ«Ò²¿ÉÒÔͨ¹ýÀûÓÃËüÃÇ×÷Ϊ¸¸×Ó½ø³ÌµÄÏ໥¹ØÏµ¶ø¾ßÓеÄÒ»Ð©ÌØÊâ·½·¨¡£
Ò»¸ö×îÏÔÈ»µÄ·½·¨ÊǸ¸½ø³Ì¿ÉÒԵõ½×Ó½ø³ÌµÄÍ˳ö״̬¡£
ÒòΪ×Ó½ø³Ì´ÓËüµÄ¸¸½ø³Ì¼Ì³ÐÎļþÃèÊö·û£¬ËùÒÔ¸¸½ø³Ì¿ÉÒÔ´ò¿ªÒ»¸ö¹ÜµÀµÄÁ½¶Ë£¬È» ......

linuxϲ鿴Ïß³Ì

ps ax ÃüÁîÏÔʾһ¸öµ±Ç°ÏµÍ³½ø³ÌµÄÁÐ±í£¬¸ÃÁбíÖаüÀ¨ÆäËûÓû§ÓµÓеĽø³Ì¡£ÒªÏÔʾ½ø³ÌÒÔ¼°ËüÃǵÄËùÓÐÕߣ¬Ê¹Óà ps aux ÃüÁî¡£¸ÃÁбíÊÇÒ»¸ö¾²Ì¬ÁÐ±í£»»»Ò»¾ä»°Ëµ£¬ËüÊÇÔÚÄãÆôÓÃÕâÏîÃüÁîʱÕýÔÚÔËÐеĽø³ÌµÄ¿ìÕÕ¡£Èç¹ûÄãÐèÒªÒ»¸öʱ¿Ì¸üеÄÔËÐнø³ÌÁÐ±í£¬Ê¹ÓÃÏÂÃæÃèÊöµÄ top ÃüÁî¡£
ps µÄÊä³ö»áºÜ³¤¡£Òª·ÀÖ¹Ëü¿ìËÙ´ÓÆÁÄ»Öл¬¹ ......

LinuxÏÂjava»·¾³±äÁ¿ÉèÖ÷½·¨

תÌù£º
ÏÖÔÚÓÃlinuxµÄÅóÓÑÔ½À´Ô½¶àÁË£¬Ç°¼¸Ìì¾ÍÓÐÁ½¸öÅóÓÑÎÊÎÒlinuxÏÂÔõôÅäÖÃjava»·¾³£¬ÎÒÏ뻹ÓкܶàÅóÓÑÏëÁ˽âѧϰÕâ·½ÃæµÄ¶«Î÷£¬¾Íдһ¸öÍêȫһµãµÄlinux java»·¾³ÅäÖðɣ¬Ï£Íû¶Ô´ó¼ÒÓаïÖú¡£
Ò». ÏÂÔØjdk5.0 for linux
¡¡¡¡µ½sunµÄÖ÷Ò³ http://java.sun.com/j2se/1.5.0/download.jsp ÏÂÔØjdk°²×°Îļþjdk-1_5_0_05-li ......

¡¶Essential Linux Device Drivers¡·ÖÐÎİæµÚ1ÕÂ




-Ëᦻª(Barry Song)
Linux¾ßÓÐÓÕÈ˵Ä÷ÈÁ¦£¬ËüÊÇÒ»¸öÓÉÈ«ÊÀ½ç²»Í¬Ãñ×å¡¢²»Í¬ÐÅÑö¡¢²»Í¬ÐÔ±ðµÄÈ˹²Í¬²ÎÓëºÍЭ×÷µÄ¹ú¼ÊÐÔÏîÄ¿¡£LinuxÃâ·ÑÌṩԴ´úÂ룬²¢ÇÒ¾ßÓÐÓëUnixÀàËÆµÄΪÈËÃÇËùÊìϤµÄÓ¦ÓóÌÐò±à³Ì»·¾³£¬ÕâÒ»ÇÐÔì¾ÍÁËËü½ñÌìµÄ¾Þ´ó³É¹¦¡£Í¨¹ý»¥ÁªÍø´Óר¼Ò´¦¼´Ê±»ñµÃµÄ¸ßÖÊÁ¿µÄÃâ·ÑÖ§³ÖÒ²·¢»ÓÁËÖØÒª× ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ