LinuxÏÂthread±à³Ì£¨¶þ£©
×÷Õߣº Sam£¨Õç·å£© sam_code@hotmail.com
threadÊôÐÔ£º
pthread_create()ÖУ¬µÚ¶þ¸ö²ÎÊý£¨pthread_attr_t£©Îª½«Òª´´½¨µÄthreadÊôÐÔ¡£Í¨³£Çé¿öÏÂÅäÖÃΪNULL£¬Ê¹ÓÃȱʡÉèÖþͿÉÒÔÁË¡£
µ«Á˽âÕâЩÊôÐÔ£¬ÓÐÀûÓÚ¸üºÃµÄÀí½âthread.
ÊôÐÔ¶ÔÏó£¨pthread_attr_t£©ÊDz»Í¸Ã÷µÄ£¬¶øÇÒ²»ÄÜͨ¹ý¸³ÖµÖ±½Ó½øÐÐÐ޸ġ£ÏµÍ³ÌṩÁËÒ»×麯Êý£¬ÓÃÓÚ³õʼ»¯¡¢ÅäÖúÍÏú»ÙÿÖÖ¶ÔÏóÀàÐÍ¡£
´´½¨ÊôÐÔ£º
int pthread_attr_init(pthread_attr_t *attr);
´´½¨µÄÊôÐÔÉ趨ΪȱʡÉèÖá£
Ïú»ÙÊôÐÔ£º
int pthread_attr_destroy(pthread_attr_t *attr);
Ò»£ºÉèÖ÷ÖÀë״̬£º
Ï̵߳ķÖÀë״̬ÓÐ2ÖÖ£ºPTHREAD_CREATE_JOINABLE£¨·Ç·ÖÀë״̬£©£¬ PTHREAD_CREATE_DETACHED£¨·ÖÀë״̬£©
·ÖÀë״̬º¬ÒåÈçÏ£º
Èç¹ûʹÓà PTHREAD_CREATE_JOINABLE ´´½¨·Ç·ÖÀëỊ̈߳¬Ôò¼ÙÉèÓ¦ÓóÌÐò½«µÈ´ýÏß³ÌÍê³É¡£Ò²¾ÍÊÇ˵£¬³ÌÐò½«¶ÔÏß³ÌÖ´ÐÐ pthread_join¡£ ·Ç·ÖÀëÏß³ÌÔÚÖÕÖ¹ºó£¬±ØÐëÒªÓÐÒ»¸öÏß³ÌÓà join À´µÈ´ýËü¡£·ñÔò£¬²»»áÊͷŸÃÏ̵߳Ä×ÊÔ´ÒÔ¹©ÐÂÏß³ÌʹÓ㬶øÕâͨ³£»áµ¼ÖÂÄÚ´æÐ¹Â©¡£Òò´Ë£¬Èç¹û²»Ï£ÍûÏ̱߳»µÈ´ý£¬Ç뽫¸ÃÏß³Ì×÷Ϊ·ÖÀëÏß³ÌÀ´´´½¨¡£
Èç¹ûʹÓà PTHREAD_CREATE_DETACHED ´´½¨·ÖÀëthread,Ôò±íÃ÷´ËthreadÔÚÍ˳öʱ»á×Ô¶¯»ØÊÕ×ÊÔ´ºÍthread ID.
Sam֮ǰºÜϲ»¶Ê¹Ó÷ÖÀëthread. µ«ÏÖÔÚÂýÂýʹÓÃÖоõµÃÕâÑùÊǸö²»ºÃµÄϰ¹ß¡£ÒòΪ·ÖÀëthreadÓиöÎÊÌ⣺Ö÷³ÌÐòÍ˳öʱ£¬ºÜÄÑÈ·ÈÏ×ÓthreadÒѾÍ˳ö¡£Ö»ºÃʹÓÃÈ«¾Ö±äÁ¿À´±êÃ÷×ÓthreadÒѾÕý³£Í˳öÁË¡£
ÁíÍ⣺²»¹Ü´´½¨·ÖÀ뻹ÊÇ·Ç·ÖÀëµÄthread.ÔÚ×ÓthreadÈ«²¿Í˳ö֮ǰÍ˳öÖ÷³ÌÐò¶¼ÊǺÜÓзçÏյġ£Èç¹ûÖ÷thread Ñ¡Ôñreturn,»òÕßµ÷ÓÃexit()Í˳ö£¬ÔòËùÓÐthread¶¼»á±»killµô¡£ÕâÑùºÜÈÝÒ׳ö´í¡£SamÉϴγöµÄÎÊÌâÆäʵ¾ÍÊÇÕâ¸ö¡£µ«Èç¹ûÖ÷threadÖ»Êǵ÷ÓÃpthread_exit().Ôò½öÖ÷Ï̱߳¾ÉíÖÕÖ¹¡£½ø³Ì¼°½ø³ÌÄ򵀮äËûÏ߳̽«¼ÌÐø´æÔÚ¡£ËùÓÐÏ̶߳¼ÒÑÖÕֹʱ£¬½ø³ÌÒ²½«ÖÕÖ¹¡£
int pthread_attr_getdetachstate(const pthread_attr_t *attr,int *detachstate);
int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
µÃµ½µ±Ç°ºÍ·ÖÀë״̬ºÍÉèÖõ±Ç°µÄ·ÖÀë״̬¡£
¶þ£ºÉèÖÃÕ»Òç³ö±£»¤Çø´óС:
Õ»Òç³ö¸ÅÄ
Òç³ö±£»¤¿ÉÄܻᵼÖÂϵͳ×ÊÔ´ÀË·Ñ¡£Èç¹ûÓ¦ÓóÌÐò´´½¨´óÁ¿Ị̈߳¬²¢ÇÒÒÑÖªÕâЩÏß³ÌÓÀÔ¶²»»áÒç³öÆäÕ»£¬Ôò¿ÉÒԹرÕÒç³ö±£»¤Çø¡£Í¨¹ý¹Ø±ÕÒç³ö±£»¤Çø£¬¿ÉÒÔ½Úʡϵͳ×ÊÔ´¡£
Ïß³ÌÔÚÕ»ÉÏ·ÖÅä´óÐÍÊý¾Ý½á¹¹Ê±£¬¿ÉÄÜÐèÒª½Ï´óµÄÒç³ö±£»¤ÇøÀ´¼ì²âÕ»Òç³ö¡£
int pthre
Ïà¹ØÎĵµ£º
µÚËĽ² Ŀ¼ £¨video07,08,09,10£© Ç¿ÖÆÎ»ÓëðÏÕλ£ºÕë¶Ôu,g,o·Ö±ðÓÐset uid,set gid,¼°sticky¡£
set uid: chmod u+s DirName
set gid: chmod g+s DirName
sticky: chmod o+t DirName
ÀýÈç:ls –l /bin/ping ʹÓÃÁËset uid,±£Ö¤ÈκÎÓû§Ö´ÐÐpingÃüÁîʱ¶¼ÊÇÒÔrootÓû§Éí·Ý. ......
¾¡¹Ü²»Ô¸Òâ¹ý·ÖÉùÕÅ£¬µ«ÁªÏëȷʵÔÚÖØ»ØLinuxµÄÀÏ·¡£11ÔÂ12ÈÕ£¬¸ßͨCEO Paul Jacobs͸¶ÁËÁªÏëÒ»¿î»ùÓÚARM¼Ü¹¹
Snapdragon´¦ÀíÆ÷µÄÖÇÄܱ¾²úÆ·£¬ÕâÖÖ²úÆ·µÄ¶¨Î»½éÓÚÖÇÄÜÊÖ»úÓëÉÏÍø±¾Ö®¼ä¡£Jacobs»¹Ðû³ÆÕâ¿î»ùÓÚLinuxµÄÖÇÄܱ¾½«ÓÚÃ÷Äê1Ô·ÝÕÙ¿ªµÄ
CES¼ÆËã»úµç×ÓÕ¹»áÉÏÕýÊ½Â¶Ãæ£¬¶øÁªÏëËæºóÒ²¶ÔÕâÔòÏûÏ¢½øÐÐÁËÈ·ÈÏ£¬ ......
²Î¿¼£º
http://longer.spaces.eepw.com.cn/articles/article/item/60415
http://imganquan.org/blog/?p=350
ÍøÉÏÕҵ쬹éÄÉһϣº
ÔÓÏîÉ豸£¨misc device£©
ÔÓÏîÉ豸ҲÊÇÔÚǶÈëʽϵͳÖÐÓõñȽ϶àµÄÒ»ÖÖÉ豸Çý¶¯¡£ÔÚ Linux Äں˵Äinclude\linuxĿ¼ÏÂÓÐMiscdevice.hÎļþ£¬Òª°Ñ×Ô¼º¶¨ÒåµÄmisc device´ÓÉ豸¶¨ÒåÔÚÕâÀï¡ ......
ÐÞ¸´Linuxϵͳ
1£®Ê¹Óü±¾ÈÅÌ×é½øÐÐά»¤
¼±¾ÈÅÌ×飨Ҳ³ÆÎªboot/rootÅÌ×飩£¬ÊÇϵͳ¹ÜÀíÔ±±Ø²»¿ÉÉٵŤ¾ß¡£ÓÃËü¿ÉÒÔ¶ÀÁ¢µØÆô¶¯ºÍÔËÐÐÒ»¸öÍêÕûµÄLinuxϵͳ¡£Êµ¼Ê ÉÏ£¬¼±¾ÈÅÌ×éÖеĵÚ2ÕÅÅÌÉϾÍÓÐÒ»¸öÍêÕûµÄLinuxϵͳ£¬°üÀ¨rootÎļþϵͳ£»¶øµÚ1ÕÅÅÌÔò´æ·ÅÁË¿ÉÆô¶¯µÄÄںˡ£
ʹÓü±¾ÈÅÌ×éά»¤ÏµÍ³ºÜ¼òµ¥¡£Ö»ÐèÓÃÕâÁ½ÕÅÅÌÆô¶ ......