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

Linux ½ø³Ì¹ÜÀíÆÊÎö

ÎÄÕÂÀ´Ô´£ºhttp://www.ibm.com/developerworks/cn/linux/l-linux-process-management/
¼¶±ð£º Öм¶
M. Tim Jones, ¹ËÎʹ¤³Ìʦ, Emulex Corp.
2009 Äê 1 ÔÂ 20 ÈÕ
Linux® µÄÓû§¿Õ¼ä½ø³ÌµÄ´´½¨ºÍ¹ÜÀíËùÉæ¼°µÄÔ­ÀíÓë UNIX® Óкܶ๲ͬµã£¬µ«Ò²ÓÐÒ»Ð©ÌØ¶¨ÓÚ Linux µÄ¶ÀÌØÖ®´¦¡£ÔÚ±¾ÎÄÖУ¬Á˽â Linux ½ø³ÌµÄÉúÃüÖÜÆÚ£¬Ì½Ë÷Óû§½ø³Ì´´½¨¡¢ÄÚ´æ¹ÜÀí¡¢µ÷¶ÈºÍÏú»ÙµÄÄÚºËÄÚÄ»¡£
Linux ÊÇÒ»ÖÖ¶¯Ì¬ÏµÍ³£¬Äܹ»ÊÊÓ¦²»¶Ï±ä»¯µÄ¼ÆËãÐèÇó¡£Linux ¼ÆËãÐèÇóµÄ±íÏÖÊÇÒÔ½ø³Ì µÄͨÓóéÏóΪÖÐÐĵġ£½ø³Ì¿ÉÒÔÊÇ¶ÌÆÚµÄ£¨´ÓÃüÁîÐÐÖ´ÐеÄÒ»¸öÃüÁ£¬Ò²¿ÉÒÔÊdz¤ÆÚµÄ£¨Ò»ÖÖÍøÂç·þÎñ£©¡£Òò´Ë£¬¶Ô½ø³Ì¼°Æäµ÷¶È½øÐÐÒ»°ã¹ÜÀí¾ÍÏԵü«ÎªÖØÒª¡£
ÔÚÓû§¿Õ¼ä£¬½ø³ÌÊÇÓɽø³Ì±êʶ·û£¨PID£©±íʾµÄ¡£´ÓÓû§µÄ½Ç¶ÈÀ´¿´£¬Ò»¸ö PID ÊÇÒ»¸öÊý×ÖÖµ£¬¿ÉΩһ±êʶһ¸ö½ø³Ì¡£Ò»¸ö PID ÔÚ½ø³ÌµÄÕû¸öÉúÃüÆÚ¼ä²»»á¸ü¸Ä£¬µ« PID ¿ÉÒÔÔÚ½ø³ÌÏú»Ùºó±»ÖØÐÂʹÓã¬ËùÒÔ¶ÔËüÃǽøÐлº´æ²¢²»¼ûµÃ×ÜÊÇÀíÏëµÄ¡£
ÔÚÓû§¿Õ¼ä£¬´´½¨½ø³Ì¿ÉÒÔ²ÉÓü¸ÖÖ·½Ê½¡£¿ÉÒÔÖ´ÐÐÒ»¸ö³ÌÐò£¨Õâ»áµ¼ÖÂнø³ÌµÄ´´½¨£©£¬Ò²¿ÉÒÔÔÚ³ÌÐòÄÚ£¬µ÷ÓÃÒ»¸ö fork »ò exec ϵͳµ÷Óá£fork µ÷ÓûᵼÖ´´½¨Ò»¸ö×Ó½ø³Ì£¬¶ø exec µ÷ÓÃÔò»áÓÃгÌÐò´úÌæµ±Ç°½ø³ÌÉÏÏÂÎÄ¡£½ÓÏÂÀ´£¬ÎÒ½«¶ÔÕ⼸ÖÖ·½·¨½øÐÐÌÖÂÛÒÔ±ãÄúÄܺܺõØÀí½âËüÃǵŤ×÷Ô­Àí¡£
ÔÚ±¾ÎÄÖУ¬ÎÒ½«°´ÕÕÏÂÃæµÄ˳ÐòÕ¹¿ª¶Ô½ø³ÌµÄ½éÉÜ£¬Ê×ÏÈչʾ½ø³ÌµÄÄں˱íʾÒÔ¼°ËüÃÇÊÇÈçºÎÔÚÄÚºËÄÚ±»¹ÜÀíµÄ£¬È»ºóÀ´¿´¿´½ø³Ì´´½¨ºÍµ÷¶ÈµÄ¸÷ÖÖ·½Ê½£¨ÔÚÒ»¸ö»ò¶à¸ö´¦ÀíÆ÷ÉÏ£©£¬×îºó½éÉܽø³ÌµÄÏú»Ù¡£
½ø³Ì±íʾ
ÔĶÁ developerWorks ÉÏ Tim Jones Ëù׫дµÄ¸ü¶àÎÄÕÂ
Tim µÄÆÊÎö…… ϵÁÐÎÄÕÂ
ÔÚ Linux ÄÚºËÄÚ£¬½ø³ÌÊÇÓÉÏ൱´óµÄÒ»¸ö³ÆÎª task_struct µÄ½á¹¹±íʾµÄ¡£´Ë½á¹¹°üº¬ËùÓбíʾ´Ë½ø³ÌËù±ØÐèµÄÊý¾Ý£¬´ËÍ⣬»¹°üº¬ÁË´óÁ¿µÄÆäËûÊý¾ÝÓÃÀ´Í³¼Æ£¨accounting£©ºÍά»¤ÓëÆäËû½ø³ÌµÄ¹ØÏµ£¨¸¸ºÍ×Ó£©¡£¶Ô task_struct µÄÍêÕû½éÉܳ¬³öÁ˱¾Îĵķ¶Î§£¬Çåµ¥ 1 ¸ø³öÁË task_struct µÄһС²¿·Ö¡£ÕâЩ´úÂë°üº¬Á˱¾ÎÄËùҪ̽Ë÷µÄÕâÐ©ÌØ¶¨ÔªËØ¡£task_struct λÓÚ ./linux/include/linux/sched.h¡£
Çåµ¥ 1. task_struct µÄһС²¿·Ö

struct task_struct {
volatile long state;
void *stack;
unsigned int flags;
int prio, static_prio;
struct list_head tasks;
struct mm_struct *mm, *active_mm;
pid_t pid;
pid_t tgid;
struct task_struct *real_parent;
char comm[TASK_


Ïà¹ØÎĵµ£º

linux£ºDynamic MMap ran out of room

    µ±ÎÒµÄubuntu½øÐÐÈç³£µÄ¸üÐÂʱ£¬Í»È»¸æËßÎÒDynamic MMap ran out of room.È»ºógoogleµÃ½â·¨£¬¼Ç¼ÈçÏ£º
    sudo gedit /etc/apt/apt.conf.d/70debconf
    ÔöÌíÒÔÏÂÁ½ÐУºAPT::Cache-Limit "200000000";
       &nbs ......

linuxÏÂapache+php°²×°³£¼ûÎÊÌâ


linuxÏÂapache+php°²×°³£¼ûÎÊÌâ
configure: error: Unable to find libgd.(a|so)
Èç¹ûʹÓõÄÊÇubuntu»òdebian¾ÍºÜ¼òµ¥ÁË£¬Ö±½Ósudo apt-get install apache2 libapache2-mod-php5 php5 php5-gd ¾Í»ù±¾Éϸ㶨£¬µ«ÊÇÓÃÔ´´úÂë°²×°»¹ÊǺÜÂé·³¡«
wget http://www.boutell.com/gd/http/gd-2.0.11.tar.gz
tar zxvf gd-2.0.11 ......

linuxÏß³ÌµÄ¹ÒÆðÓë»Ö¸´

#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
pthread_mutex_t wqy_mutex_pause = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t wqy_cond_pause = PTHREAD_COND_INITIALIZER;
bool wqy_pthread_pause = false;
void wqy_pthread_suspend(void)
{
if ......

Linuxϵͳ»ù´¡ÖªÊ¶£¨¶þ£©

Linux½ø³ÌÔõÑù²ÅÄÜ»ñÈ¡ÊôÓÚËü×Ô¼ºµÄÏßÐÔµØÖ·¿Õ¼äÄØ£¬±ÈÈç 0x08048000µ½0x0804c000Õâ¶ÎÏßÐÔµØÖ·¿Õ¼ä±»·ÖÅ䏸ÁËÒ»¸ö½ø³Ì£¬½ø³Ì¾Í¿ÉÒÔ·ÃÎÊÕâ¶ÎµØÖ·¿Õ¼ä£¬ÏßÐÔµØÖ·¿Õ¼äµÄ¿ªÊ¼ºÍ½áÊø¶¼±ØÐëÒÔ4KB¶ÔÆë
ÕâÀïÓÐÒÔϼ¸ÖÖÇé¿ö£º
1.¸Õ¸Õ´´½¨µÄнø³Ì£»
2.ʹÓÃexecϵͳµ÷ÓÃ×°ÔØÒ»¸öеijÌÐòÔËÐУ»
3.½«Ò»¸öÎļþ£¨»ò²¿£©Ó³Éäµ½½ø³ÌµØÖ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ