Mr. ProcessµÄÒ»Éú£LinuxÄں˵ÄÉç»áÊÓ½Ç (1)µ÷¶È
Written by manio (http://blog.csdn.net/manio)
LinuxÄÚºËÊÇÒ»¸öÎޱȸ´ÔÓµÄϵͳ£¬ÒªÏë¿´Çå´óÖµÄÂöÂçÒ²·ÇÒ×Ê¡£Æäʵ£¬¿ÉÒÔ°ÑÔËÐÐÖеÄLinuxÏëÏñ³ÉÒ»¸öÈËÀàµÄÉç»á£¬µ±ÖеĽø³Ì¾ÍÊÇÉç»áÖеÄÈË¡£ÈËÓÐÉúÀϲ¡ËÀ£¬½ø³ÌÓд´½¨¡¢Òì³£¡¢ÖÕÖ¹¡£ÈËÓи÷ÖÖ¸÷ÑùµÄ²Æ²ú£¬½ø³ÌÓжÔÓ¦µÄµØÖ·¿Õ¼ä¡¢É豸µÈµÈ¡£È˱»¸÷ÖÖ¸÷ÑùµÄ¶«Î÷ÏÞÖÆ×Å£¬±»È˹Ü×Å£¬½ø³ÌÒ²ÊÇ¡£ÄÚºËÎޱȾ޴󣬴ÓÄÄ×ÅÊÖ£¿ÎÒÏ룬´Ó½ø³ÌµÄÊÓ½ÇÀ´¿´ÊǸöºÃ°ì·¨¡£²¢ÇÒ£¬ÔÚѧϰLinuxÄں˵Äͬʱ£¬Àà±ÈÈËÀàÉç»áÀ´¿´£¬»áÓиüÉî¿ÌµÄÓ¡Ïó£¬Àí½âµÃ¸ü͸³¹¡£
±¾À´Ò²Ó¦¸Ã´Ó½ø³ÌµÄ´´½¨¿ªÊ¼Ð´µÄ£¬µ«ÊÇ×î½üÔÚ¿´µ÷¶ÈµÄÏà¹ØÂÛÎÄ£¬¾ÍÓÖ°ÑLinuxµ÷¶ÈµÄ¶«Î÷¿´ÁËһϡ£ËùÒÔ£¬¾ÍÏÈдµ÷¶ÈÏà¹ØµÄ¶«Î÷°É¡£
Ê×ÏȽéÉÜÓë½ø³ÌËùÔÚ»·¾³¶ÔÓ¦µÄÈËÀೡ¾°£º
ÕâÊÇÒ»¸ö¹«Ë¾£¬¹«Ë¾ÀïÓкܶàÈË£¨½ø³Ì£©£¬Ã¿¸öÈ˶¼ÓÐÆä¶ÔÓ¦µÄÖ°³Æ£¨ÓÅÏȼ¶£©¡£Õâ¸ö¹«Ë¾ºÜÆæ¹Ö£¬Ö»ÓÐÒ»ÕŰ칫×À£¨CPU£©£¬ÔÚÈÎÒâʱ¿Ì£¬Ö»ÄÜÓÐÒ»¸öÈËÔÚ¹¤×÷(TASK_RUNNINGÕýÔÚÔËÐÐ״̬)¡£ÆäËûÈËÄØ£¬ÒªÃ´ÔÚÐÝÏ¢ÊÒʱ¶ÌÔݵØÐÝÏ¢£¨¶ÔÓ¦TASK_RUNNING¾ÍÐ÷״̬£©£¬ÒªÃ´¾ÍÔÚÇÞÊÒSleep(¶ÔÓ¦TASK_INTERRUPTABLE»òTASK_UNINTERRUPTABLE)£¬ÒªÃ´¾ÍÊÇËÀÈËÁË£¬ÔÚͣʬ¼ä£¨TASK_ZOMBIE£©¡£Êǵģ¬ÕâÊÇÕæµÄ£¬Õâ¸ö¹«Ë¾¾ÍÊǸöѪº¹¹¤³§£¬¸É»îÀÛËÀÁË£¬¾ÍÖ±½Ó¶ª½øÍ£Ê¬¼ä£¬²Ò¾øÈËå¾£¡
ÒÔÏÂÊǴ˹«Ë¾µÄÆ½ÃæÍ¼£º
ͼ½â£º“ÍÆÃÅ”Êǵ¥ÏòµÄ£º±ÈÈçÁ¬½Ó¹¤×÷ÊÒºÍ̫ƽ¼äµÄÊÇÍÆÃÅ£¬Ö°Ô±Ö»ÄÜ´Ó¹¤×÷ÊÒ×ßµ½Ì«Æ½¼ä£¬²»ÄÜ´Ó̫ƽ¼ä×ßµ½¹¤×÷ÊÒ£¨ÕâÌ«ÏÅÈËÁË£©¡£“°¼²ÛÃÅ”ÊÇË«ÏòµÄ£º±ÈÈçÁ¬½Ó¹¤×÷ÊÒºÍÐÝÏ¢ÊÒµÄÃÅÊǰ¼²ÛÃÅ£¬Ö°Ô±¿ÉÒÔ×ßÀ´×ßÈ¥¡£
ʱ¼äƬ(time slice)£ºÕâ¸ö¹«Ë¾µÄ¹¤×ÊÌØ±ð¸ß£¬°´¹¤×÷µÄСʱÊý¼ÆËã¡£¹¤×÷ÕßµÃÇ®£¬²»¹¤×÷Õß²»µÃÇ®¡£ËùÒÔ£¬ËùÓеÄÈ˶¼ÌØÏëÈ¥°ì¹«×ÀÄÇÀ﹤×÷£¬Õù×ÅÇÀ×ÅҪȥ¡£ÎªÁËÈôó¼Ò¶¼Óлú»áÈ¥¹¤×÷£¨±ÜÃâÓеÄÈËûǮÄ㬶öËÀ£¬i.e. starve to death£©£¬ËùÒÔ¹«Ë¾³öÁËÌõ¹æ¶¨£¬Ã¿¸öÈËÿ´Î¹¤×÷µÄʱ¼ä²»Äܳ¬¹ý¹«Ë¾·Ö¸ø×Ô¼ºµÄʱ¼äƬ£¨time slice£©¡£Ê±¼äƬµÄ´óСÓÉ´ËÈ˵ÄÖ°³Æ¾ö¶¨¡£
Ö°³Æ£¨Ò²¾ÍÊÇÄÚºËÖеÄpriority£©£ºÖ°³ÆÓÐÁ½ÖÖ£¬Ò»ÖÖÊǾ²Ì¬Ö°³Æ£¨static priority£©£¬Ò»ÖÖÊǶ¯Ì¬Ö°³Æ£¨dynamic priority£©¡£¾²Ì¬Ö°³ÆÊÇÏÈÌìµÄ£¬ÓÉ´ËÈ˵ÄÀϰ־ö¶¨£¨¸»¶þ´úÓÐÏÈÌìÓÅÊÆ£¡£©¡£¶¯Ì¬ÓÅÏȼ¶ÊÇ¿´ÔÚ¹«Ë¾ÀïµÄ¹¤×÷±íÏֵġ£Ö°³ÆÊǺÜÖØÒªµÄ¶«Î÷£¬Ö°³ÆÔ½¸ß£¬Äãµ½°ì¹«×ÀÉÏ׬ǮµÄ»ú»áÔ½´ó¡£
ĬÈÏʱ¼äƬ³¤µãºÃ»¹ÊǶ̵ãºÃ£¿
×ÔÈ»ÊDz»³¤²»¶ÌºÃ£¨ÊÀ½çÉϵÄÊÂÇé¶¼ÊÇÕâÑù£©¡£Èç¹ûÌ«¶ÌÁË£¬±ÈÈç˵ijְԱʱ¼äƬÊÇ1·ÖÖÓ£¨¶ÔÓ¦µÄLi
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
ÉÏ週Òò為ÓÐһ̨ºÜ舊µÄ Linux ËÅ·þÆ÷ÐèÖØÐ°²裝£¨簡稱 A
Ö÷機£©£¬Òò為ËùÓÐ資Á϶¼ÒÑ經備·Ý£¬ÇÒÒ²ÒÑ經確認無Èκηþ務ÔÚ這̨Ö÷機ÁË£¬ËùÒÔÒ²ºÜ·ÅÐĵÄÖØ¹àÁË¡£²»過£¬ÖعàÁËÖ®áá²Å發現Ô來 ......
ÔÚLinuxÄں˴úÂëÖУ¬ÓÐÒ»¸öÐźŴ¦Àí°ó¶¨Æ÷º¯Êýsignal£¬Ëüµ½ÔÐͶ¨ÒåÈçÏ£¬Í¨¹ýman 2 signal¿ÉÒԲ鿴ÆäÔÐÍ¡£
#include <signal.h>
typedef void (*sighandler_t)(int); (1)
sighandler_t signal(int signum,sighandler_t handler); (2)
µÚÒ»¾äÊǰüº¬Í·Îļþ£¬µÚ¶þ¾äÊÇÀàÐͶ¨Ò ......
ÔÚ½øÐиºÔزâÊÔ£¨Load Test£©ÊÇÒª¼à¿Ø·þÎñÆ÷µÄCPU¡¢ÄÚ´æ¡¢´ÅÅÌ¡¢ÍøÂçµÄÇé¿ö¡£ÈçºÎ¼à¿ØUbuntuµÄÇé¿öÄØ¡£
1¡¢°²×°rstatd£¬sudo apt-get install rstatd£¬Èç¹ûÎÞ·¨apt°²×°£¬¿ÉÒÔÏÂÔØ°²×°¡£
2¡¢Æô¶¯rpc.rstatd
3¡¢ÔÚLoadRunner ControllerµÄru ......