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

LinuxÏÂÏ̵߳Ĵ´½¨

×÷Õß:Hoyt Email:hoytluo@21cn.comÔ­ÎĵØÖ· http://wiki.chinaunix.net/index.php/Zhuan_c7
ǰÑÔ: LinuxÏÂÏ̵߳Ĵ´½¨ºÍ»ù±¾µÄʹÓÃ
Ï̵߳Äͬ²½ºÍ»¥³â
Ï̵߳ÄÌõ¼þ±äÁ¿
ÏȽéÉÜʲôÊÇÏß³Ì.ÎÒÃDZàдµÄ³ÌÐò´ó¶àÊý¿ÉÒÔ¿´³ÉÊǵ¥Ï̵߳Ä.¾ÍÊdzÌÐòÊǰ´ÕÕÒ»¶¨µÄ ˳ÐòÀ´Ö´ÐÐ.Èç¹ûÎÒÃÇʹÓÃÏ̵߳ϰ,³ÌÐò¾Í»áÔÚÎÒÃÇ´´½¨Ï߳ɵĵط½·Ö²æ,±ä³ÉÁ½¸ö"³Ì Ðò"ÔÚÖ´ÐÐ.´ÖÂԵĿ´À´ºÃÏóºÍ×Ó½ø³Ì²î²»¶àµÄ,Æäʵ²»È».×Ó½ø³ÌÊÇͨ¹ý¿½±´¸¸½ø³ÌµÄµØ Ö·¿Õ¼äÀ´Ö´ÐеÄ.¶øÏß³ÌÊÇͨ¹ý¹²Ïí³ÌÐò´úÂëÀ´Ö´ÐеÄ,½²µÄͨË×Ò»µã¾ÍÊÇÏ̵߳ÄÏàͬµÄ ´úÂë»á±»Ö´Ðм¸´Î.ʹÓÃÏ̵߳ĺô¦ÊÇ¿ÉÒÔ½ÚÊ¡×ÊÔ´,ÓÉÓÚÏß³ÌÊÇͨ¹ý¹²Ïí´úÂëµÄ,ËùÒÔû Óнø³Ìµ÷¶ÈÄÇô¸´ÔÓ.
1.Ï̵߳Ĵ´½¨ºÍʹÓÃ
Ï̵߳Ĵ´½¨ÊÇÓÃÏÂÃæµÄ¼¸¸öº¯ÊýÀ´ÊµÏÖµÄ.
#include <pthread.h>

int pthread_create(pthread_t *thread,pthread_attr_t *attr,
void *(*start_routine)(void *),void *arg);
void pthread_exit(void *retval);
int pthread_join(pthread *thread,void **thread_return);

pthread_create´´½¨Ò»¸öÏß³Ì,threadÊÇÓÃÀ´±íÃ÷´´½¨Ï̵߳ÄID,attrÖ¸³öÏ̴߳´½¨Ê±ºò µÄÊôÐÔ,ÎÒÃÇÓÃNULLÀ´±íÃ÷ʹÓÃȱʡÊôÐÔ.start_routineº¯ÊýÖ¸ÕëÊÇÏ̴߳´½¨³É¹¦ºó¿ªÊ¼ Ö´Ðеĺ¯Êý,argÊÇÕâ¸öº¯ÊýµÄΨһһ¸ö²ÎÊý.±íÃ÷´«µÝ¸østart_routineµÄ²ÎÊý. pthrea d_exitº¯ÊýºÍexitº¯ÊýÀàËÆÓÃÀ´Í˳öÏß³Ì.Õâ¸öº¯Êý½áÊøÏß³Ì,Êͷź¯ÊýµÄ×ÊÔ´,²¢ÔÚ×îºó ×èÈû,Ö±µ½ÆäËûÏß³ÌʹÓÃpthread_joinº¯ÊýµÈ´ýËü.È»ºó½«*retvalµÄÖµ´«µÝ¸ø**thread_ return.ÓÉÓÚÕâ¸öº¯ÊýÊÍ·ÅËùÒԵĺ¯Êý×ÊÔ´,ËùÒÔretval²»Äܹ»Ö¸Ïòº¯ÊýµÄ¾Ö²¿±äÁ¿. pt hread_joinºÍwaitµ÷ÓÃÒ»ÑùÓÃÀ´µÈ´ýÖ¸¶¨µÄÏß³Ì.×¢ÒâÓÉÓÚÏ̲߳»Í¬ÓÚ½ø³Ì.ËùÒÔÏß³ÌµÄ Í˳öÒ»¶¨ÒªÓÃpthread_exit¶ø²»ÊÇʹÓÃexit.·ñÔòÕû¸ö³ÌÐò»áÍ˳öµÄ. ÏÂÃæÎÒÃÇʹÓÃÒ»¸ö ʵÀýÀ´½âÊÍÒ»ÏÂʹÓ÷½·¨.ÔÚʵ¼ùÖÐ,ÎÒÃǾ­³£Òª±¸·ÝһЩÎļþ.ÏÂÃæÕâ¸ö³ÌÐò¿ÉÒÔʵÏÖµ± ǰĿ¼ÏµÄËùÓÐÎļþ±¸·Ý.±¸·ÝºóµÄºó׺ÃûΪbak
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <pthread.h&


Ïà¹ØÎĵµ£º

Linux µÄ¶àÏ̱߳à³ÌµÄ¸ßЧ¿ª·¢¾­Ñé

2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾­Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ ......

LinuxÄÇЩʶùÖ®ÎÒÊÇSysfs(6)Îļþϵͳ

½ÓÏÂÀ´£¬ÎÒÃǽøÈësysfs²¿·Ö¡£¿´¿´
kobject_add()->create_dir()->sysfs_create_dir()
bus create file->sysfs create file()
. . .
ÕâЩsysfsº¯ÊýµÄÄÚÄ»¡£
˵°×ÁË£¬sysfs¾ÍÊÇÀûÓÃVFSµÄ½Ó¿ÚÈ¥¶ÁдkobjectµÄ²ã´Î½á¹¹£¬½¨Á¢ÆðÀ´µÄÎļþϵͳ¡£¹ØÓÚsysfsµÄÄÚÈݾÍÔÚfs/sysfs/Ï¡£&nbs ......

Linux c++






Linux/UNIX C++¸ß¼¶Åàѵ---Ô¶³Ì°à
http://www.xuanyuan-soft.cn/index.php?option=com_content&view=article&id=84&Itemid=85
¿Î³Ì¸ÅÒª
 
ÅàÑøÄ¿±ê
£ºLinux/UNIX C++Èí¼þ¹¤³Ìʦ
רעLinux/UNIX·þÎñÆ÷¶ËµÄÈí¼þ¿ª·¢£¨ºǫ́¿ª·¢£©£¬ÅàÑøÆóÒµËùÐèµÄרҵLinux/UNIX C ......

ÔÚLinuxϱàдDaemon

ÔÚLinuxϱàдDaemon
 
ÔÚLinux£¨ÒÔRedhat Linux Enterprise Edition 5.3ΪÀý£©Ï£¬ÓÐʱÐèÒª±àдService¡£ServiceÒ²ÊdzÌÐò£¬Ò»°ãËæÏµÍ³Æô¶¯Óû§²»¸ÉÔ¤¾Í²»Í˳öµÄ³ÌÐò£¬¿ÉÒÔ³ÆÎªService¡£LinuxϵÄServiceÒ»°ã³ÆÎªDaemon¡£
 
ÒÔÉÏÊǹãÒåµÄServiceµÄ¶¨Òå¡£LinuxϵķþÎñÒ»°ã·ÅÔÚ/etc/init.dÎļþ¼ÐÏ¡£ä¯ÀÀÒ»ÏÂÕ ......

linux Ŀ¼¼Ü¹¹

/
      ¸ùĿ¼ 
/bin
        ³£ÓõÄÃüÁî
  binary
  file   µÄĿ¼ 
/boot
      ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ
  (kernel)
  ÔÚÄÚ 
/boot/grub/menu.lst
      GRUBÉèÖà
/boot/ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ