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

ÔÚlinux½ø³ÌÖеÄÐÅºÅÆÁ±Î

       Ô­´´ÎÄÕ£¬×ªÔØÇë×¢Ã÷³ö´¦£¬Ð»Ð»£¡       
       ×÷ÕߣºÇåÁÖ£¬²©¿ÍÃû£º·É¿Õ¾²¶É
ÔÚlinuxµÄ½ø³ÌÖпÉÒÔ½ÓÊÕµ½¸÷ÖÖµÄÐźţ¬²¢ÇÒÈç¹ûÄã²»¶ÔÐźŽøÐд¦Àí£¬linuxÖеĽø³Ì¾Í»á²ÉÓÃĬÈϵĴ¦Àí·½Ê½´¦Àí£¬±ÈÈçctrl-cµÄÐźţ¬½ø³Ì¶ÔËüµÄ´¦Àí¾ÍÊÇÖÕÖ¹½ø³ÌµÄÖ´ÐС£
ÔÚlinuxÖУ¬ÎÒÃÇÒ²¿ÉÒÔÔÚ½ø³ÌÖÐÆÁ±ÎµôijЩÐźţ¬Ê¹½ø³Ì²»È¥´¦ÀíÕâЩÐźţ¬µ«ÆäÖеÄSIGKILLºÍSIGSTOPÊDz»Äܱ»×èÈûµÄ¡£
ÔÚÕâÀïÏȽéÉܼ¸¸öÐźŵĺ¯Êý£º
    int sigempty(sigset_t *set);                 // Çå¿ÕÐźż¯set
    int sigfillset(sigset_t *set);                   // ÌîÂúÐźż¯£¬¼´ÈÃset°üº¬ËùÓеÄÐźÅ
    int sigaddset(sigset_t *set, int signo);  // ÔÚsetÖÐÔö¼ÓsignoÐźÅ
    int sigdelset(sigset_t *set, int signo);   // ÔÚsetÖÐÈ¥µôsignoÐźÅ
    int sigismember(sigset_t *set, int signo); // ÐźÅsignoÊÇ·ñÔÚÐźż¯setÖÐ
    int sigprocmask(int how, const sigset_t set, sigset_t oset); // Èôoset·Ç¿Õ£¬Ôò½ø³ÌµÄµ±Ç°ÐÅºÅÆÁ±Î×Öͨ¹ýoset·µ»Ø£¬ÈôsetÊÇÒ»¸ö·Ç¿ÕÖ¸Õ룬×ŲÎÊýhowָʾÈçºÎÐ޸ĵ±Ç°ÐÅºÅµÄÆÁ±Î×Ö£¬how¿ÉÒÔÈ¡Èý¸öÖµ£º
    SIG_BLOCK£ºÔö¼ÓÒ»¸öÐźš£
    SIG_UNBLOCK£º½â³ýÒ»¸öÐźš£
    SIG_SETMASK£º¸Ã½ø³ÌµÄÐźŽ«±»setÐźż¯È¡´ú¡£
    int sigpengding(sigset_t *set);  // ¸Ãº¯Êý·µ»ØÐźż¯£¬¸ÃÐźÅͨ¹ýset²ÎÊý·µ»Ø¡£
ÒÔÉϺ¯Êý¶¼ÔÚ#include <signal.h> Í·ÎļþÖС£
ÏÂÃæÓá¶unix»·¾³¸ß¼¶±à³Ì¡·ÀïµÄÒ»¸öÀý×Ó˵Ã÷һϣ¬´úÂëÓÐËùÐ޸ģ¬ÏÈ¿´´úÂ루main.c£¬ÀïÃæÓиöÈ˶ԴúÂëµÄ×¢ÊÍ£©£º
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
static void sig_quit(int);
int
main(void)
{
sigset_t newmask, oldmask, pendingmask;
//ÉèÖöÔÐźÅSIGQUITµÄ´¦Àíº¯Êý
if (signal(SIGQUIT, sig_quit) == SIG_ERR)
{
fprintf(stderr, "can't catch SIGQUIT\n");
exit(1);


Ïà¹ØÎĵµ£º

̤ÉÏLinuxÄÚºËѧϰ֮ÂÃ

³£³£ÓÐÈËÎÊ£ºÎÒÏëѧϰÄںˣ¬ÐèҪʲô»ù´¡Âð£¿Linus Torvalds±¾ÈËÊÇÕâÑù»Ø´ðµÄ£ºÄã±ØÐëʹÓùýLinux¡£ Õâ¸ö……»¹ÊÇÓеãÌ«·ºÁ˰ɣ¬ÎÒÏëÏÂÃæ¼¸¸ö»ù´¡¿ÉÄÜ»¹ÊÇÐèÒªµÄ£¬¾¡¹Ü²»Ò»¶¨±ØÐ裺 
¡¡¡¡1, ¹ØÓÚ²Ù×÷ϵͳÀíÂÛµÄ×î³õ¼¶µÄ֪ʶ¡£²»ÐèҪͨ¶Á²¢Àí½â¡¶²Ù×÷ϵͳ¸ÅÄî¡·¡¶ÏÖ´ú²Ù×÷ϵͳ¡·µÈ¾ÞÖø£¬µ«×ÜÒªÖªµÀ·Öʱ£¨t ......

ShellµÄʹÓ×—linux¹¤³Ìʦ±ØÑ§»ù´¡

Ô­µØÖ·£ºhttp://selftest.51cto.com/subread.php?sid=213
×Ô²â¼ò½é£º    
ShellÒ²½Ð×öÃüÁîÐнçÃæ£¬ËüÊÇUnix/ÀàUnix²Ù×÷ϵͳÏ´«Í³µÄÓû§ºÍ¼ÆËã»úµÄ½»»¥½çÃæ¡£Óû§Ö±½ÓÊäÈëÃüÁîÀ´Ö´Ðи÷ÖÖ¸÷ÑùµÄÈÎÎñ¡£µ±È»Î¢ÈíµÄWindows²Ù×÷ϵͳҲÌṩÁËÕâÑùµÄ¹¦ÄÜ£¬ËüÃÇÊÇWindows 9XϵÄcommand.com£¬ºÍ»ùÓÚWindows NTµÄ¸ ......

Linux Óû§²ãÈçºÎµ÷ÓýӿÚÉèÖüĴæÆ÷

ÏÂÃæµÄ´úÂë·ÖÎöÊǸù¾Ýlinux-2.6.17.14_stm22°æ±¾
#define STSYS_WriteRegDev32LE(Address_p, value)          writel((u32)value, (void*)Address_p)
ÔÚinclude/asm-sh/io.h
#define writel(v,a) ({__raw_writel((v),(a));mb();})
#define __raw_write(v,a)  __writ ......

linuxÄں˵¼¶Á

Ò»£®ºËÐÄÔ´³ÌÐòµÄÎļþ×éÖ¯£º
1£®LinuxºËÐÄÔ´³ÌÐòͨ³£¶¼°²×°ÔÚ/usr/src/linuxÏ£¬¶øÇÒËüÓÐÒ»¸ö·Ç³£¼òµ¥µÄ±àºÅÔ¼¶¨£ºÈκÎżÊýµÄºËÐÄ£¨ÀýÈç2.0.30£©¶¼ÊÇÒ»¸öÎȶ¨µØ·¢ÐеĺËÐÄ£¬¶øÈÎºÎÆæÊýµÄºËÐÄ£¨ÀýÈç2.1.42£©¶¼ÊÇÒ»¸ö¿ª·¢ÖеĺËÐÄ¡£
±¾ÎÄ»ùÓÚÎȶ¨µÄ2.2.5Ô´´úÂ룬µÚ¶þ²¿·ÖµÄʵÏÖÆ½Ì¨Îª Redhat Linux 6.0¡£
2£®ºËÐÄÔ´³ÌÐò ......

Linux System ProgrammingÔĶÁ±Ê¼ÇÖ® read(....)

¹ØÓÚread(...)·µ»ØÖµµÄÕýÈ·Åжϣºp30
File I/O µÄ read(...)º¯ÊýÓ÷¨£º
ÓÐÎÊÌâµÄ´úÂ룬ֻÅжϷµ»ØÖµÎª-1µÄÇé¿ö¡£
unsigned long word;
ssize_t nr;
/* read a couple bytes into 'word' from 'fd' */
nr = read (fd, &word, sizeof (unsigned long));
if (nr == -1)
/* error */
Indeed, a call to read( ) ca ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ