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

LinuxÉ豸Çý¶¯ÖеÄÒ첽֪ͨÓëÒì²½I/O

LinuxÉ豸Çý¶¯ÖеÄÒ첽֪ͨÓëÒì²½I/O
Ò첽֪ͨµÄ¸ÅÄîÓë×÷ÓÃ
Ò첽֪ͨµÄÒâ˼ÊÇ£ºÒ»µ©É豸¾ÍÐ÷,ÔòÖ÷¶¯Í¨ÖªÓ¦ÓóÌÐò,ÕâÑùÓ¦ÓóÌÐò¸ù±¾¾Í²»ÐèÒª²éѯÉ豸״̬,ÕâÒ»µã·Ç³£ÀàËÆÓÚÓ²¼þÉÏ"ÖжÏ"µÄ¸ÅÄî,±È½Ï׼ȷµÄ³ÆÎ½ÊÇ"ÐźÅÇý¶¯µÄÒì²½I/O"¡£
 LinuxÐźÅ
 LinuxϵͳÖУ¬Ò첽֪ͨʹÓÃÐźÅÀ´ÊµÏÖ¡£ÐźÅÒ²¾ÍÊÇÒ»ÖÖÈí¼þÖжϡ£
ÐźŵIJúÉú£ºkill raise alarm
Óû§°´ÏÂijЩÖն˼ü£»
Ó²¼þÒì³££»
ÖÕÖ¹½ø³ÌÐźţ»
Èí¼þÒì³£¡£
ÐźŵĴ¦Àí£º
ºöÂÔ¸ÃÐźţ¬µ«SIGSTOP SIGKILL²»¿ÉºöÂÔ£»
²¶×½¸ÃÐźţ¬²¢´¦Àí£»
Ö´ÐÐĬÈϲÙ×÷¡£
 ÐźŵĽÓÊÕ
  ²¶×½Ðźţ¬°²×°ÐźŴ¦Àíº¯Êý£ºvoid (*signal(int signum, void(*handler)(int)))(int);
Ðźź¯ÊýµÄÔ­ÐÍΪ£ºvoid handler(int signo);
½ø³ÌÖ´ÐÐʱ£¬ctrl+c·¢³öSIGINTÐźţ¬kill·¢³öSIGTERMÐźš£
  ¸Ä±ä½ø³Ì½ÓÊÕµ½Ìض¨ÐźźóµÄÐÐΪ£ºint sigaction(int signum, const struct sigaction *act,struct sigacton *oldact);
µÚÒ»¸ö²ÎÊý¿ÉÒÔΪ³ýSIGKILL¼°SIGSTOPÍâµÄÈκÎÒ»¸öÌØ¶¨ÓÐЧµÄÐźš£ÈôµÚ¶þ¡¢Èý¸ö²ÎÊý¶¼ÎªNULL£¬ÄÇô¸Ãº¯Êý¿ÉÓÃÓÚ¼ì²éÐźŵÄÓÐЧÐÔ¡£
 
  ÔÚÓû§¿Õ¼ä´¦ÀíÒ»¸öÉ豸ÊͷŵÄÐźţº
ͨ¹ýF_SETOWN IO¿ØÖÆÃüÁîÉèÖÃÉ豸ÎļþµÄÓµÓÐÕßΪ±¾½ø³Ì¡£
ͨ¹ýF_SETFLIO¿ØÖÆÃüÁîÉèÖÃÉ豸ÎļþÖ§³ÖFASYNC¡£
ͨ¹ýsignal()º¯ÊýÁ¬½ÓÐźźÍÐźŴ¦Àíº¯Êý¡£
 
 ÐźŵÄÊÍ·Å
  ´¦ÀíFASYNC±êÖ¾±ä¸üµÄº¯Êý¡£int fasync_helper(int fd, struct file *filp, int mode, struct fasync_struct **fa);
ÊÍ·ÅÐźÅÓõĺ¯Êý¡£void kill_fasync(struct fasync_struct **fa, int sig, int band);
 
 Linux 2.6 Òì²½I/O
AIO¸ÅÄîÓëGNU C¿âº¯Êý
  AIO»ù±¾Ë¼ÏëÊÇÔÊÐí½ø³Ì·¢ÆðºÜ¶àI/O²Ù×÷£¬¶ø²»ÓÃ×èÈû»òµÈ´ýÈκβÙ×÷Íê³É¡£
²Ù×÷£ºint aio_read(struct aiocb *aiocbp); int aio_write(struct aiocb *aiocbp); int aio_error(struct aiocb *aiocbp); ssize_t aio_return(struct aiocb *aiocbp);
int aio_suspend(struct aiocb *const cblist[], int n, const struct timespec *timeout);
int aio_cancel(int fd, struct aiocb *aiocbp);
int lio_listio(int mode, struct aiocb *list[], int nent, struct sigevent *sig);
 Ê¹ÓÃÐźÅ×÷ΪAIOµÄ֪ͨ
 Ê¹Óûص÷º¯Êý×÷ΪAIOµÄ֪ͨ
 


Ïà¹ØÎĵµ£º

Linux iptableÎĵµ

×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......

LinuxÏ mplayer ʹÓÃÊÖ²á

²¥·ÅÎļþ
ʹÓà MPlayer ²¥·ÅýÌåÎļþ×î¼òµ¥µÄ·½Ê½ÊÇ£º
mplayer <somefile>
MPlayer »á×Ô¶¯¼ì²âÎļþµÄÀàÐͲ¢¼ÓÒÔ²¥·Å£¬Èç¹ûÊÇÒôƵÎļþ£¬Ôò»áÔÚÃüÁîÐÐÖÐÏÔʾ¸Ã²¥·ÅÎļþµÄ״̬ÐÅÏ¢£»¶ø¼ÙÈçÊÇÊÓÆµÎļþµÄ»°£¬Ôò»á´ò¿ªÒ»¸öеIJ¥·Å´°¿Ú¡£
µ¹ÍËÓë¿ì½ø
ÔÚ²¥·ÅÎļþµÄʱºò£¬Äã¿ÉÒÔͨ¹ýÒÔÏÂÈý×é¿ì½Ý¼üÀ´¶Ô²¥·Å½ø³Ì½øÐе¹ÍËÓ ......

Linux¹¥·ÀÖ®udev©¶´ÑÝʾ

´Ë©¶´Õë¶Ôlinux2.6Äںˣ¬Ö»ÒªÓÐÆÕͨÓû§È¨ÏÞ£¬¼´¿ÉÌáÉýrootȨÏÞ£¬¿ªÊ¼ÊµÑé°É 1¡¢¸´ÖÆÒÔÏ´úÂ룬±£´æÎªudev.sh£¬²¢¸³Óè¿ÉÖ´ÐÐȨÏÞ 2¡¢#useradd test //н¨Ò»¸öÆÕͨÓû§ 3¡¢#su - test //Çл»ÖÁtestÓû§ 4¡¢#ps -ef |grep udev //²é¿´udev id root 474 1 0 Apr09 ? 00:00:00 /sbin/udevd -d 5¡¢#sh udev.sh 473 //Ö´Ð ......

Linux socket API ʹÓÃʵÀý

°´ÏÂÃæ²½ÖèÀ´×ö£¬¿ÉÒÔ¼òµ¥ÌåÑésocket APIµÄʹÓ᣾ßÌ庯ÊýµÄÒâÒ壬Çë²Î¿¼ÆäËû˵Ã÷Îĵµ¡£
ÏÂÃæµÄº¯ÊýÖ±½Ócopy, paste¾Í¿ÉÒÔÁË¡£
Step1. ´´½¨Server ³ÌÐò¡£
н¨Îļþsocket_s.c, ÄÚÈÝÈçÏ£º
-------------------------------------------
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h ......

linux¿ÚÁîÏà¹Ø£¨passwd/shadow£©

      ÔÚlinuxÖУ¬¿ÚÁîÎļþÔÚ/etc/passwdÖУ¬ÔçÆÚµÄÕâ¸öÎļþÖ±½Ó´æ·Å¼ÓÃܺóµÄÃÜÂ룬ǰÁ½Î»ÊÇ"ÑÎ"Öµ£¬ÊÇÒ»¸öËæ»úÊý£¬ºóÃæ¸úµÄÊǼÓÃܵÄÃÜÂ롣ΪÁ˰²È«£¬ÏÖÔÚµÄlinux¶¼ÌṩÁË /etc/shadowÕâ¸öÓ°×ÓÎļþ£¬ÃÜÂë·ÅÔÚÕâ¸öÎļþÀïÃæ£¬²¢ÇÒÊÇÖ»ÓÐroot¿É¶ÁµÄ¡£
ÏÂÃæÀ´·ÖÎöÒ»ÏÂ/etc/passwdÎļþ£¬ËûµÄÿ¸öÌõÄ¿Ó ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ