ÎÞÂÛÊÇÊý¾ÝÖÐÐĵÄÅÓ´ó¼¯Èº£¬»¹ÊǸöÈË¿ª·¢ÕߵŤ×÷Õ¾£¬Linux¶¼ÒÔÆäÁé»îÐԺ͸ßЧÐÔÓ®µÃÁ˹㷺µÄÈÏ¿É
È»¶ø£¬ÔÚÈç´Ë¸´ÔÓ¶à±äµÄÔËÐл·¾³ÖУ¬ÈçºÎÓÐЧ¹ÜÀí×÷Òµ£¬ÌرðÊÇÔÚÐèÒªÔÝÍ£×÷ҵʱ£¬³ÉΪÁËÈ·±£ÏµÍ³×ÊÔ´ºÏÀí·ÖÅä¡¢ÈÎÎñ˳ÀûÖ´ÐеĹؼü
±¾ÎĽ«ÉîÈë̽ÌÖLinuxÏÂÔÝÍ£×÷ÒµµÄ·½·¨¡¢Ó¦Óó¡¾°¡¢ÒÔ¼°ÈçºÎͨ¹ýÕâÒ»²Ù×÷ÌáÉýϵͳÕûÌåÐÔÄÜ£¬ÎªÏµÍ³¹ÜÀíÔ±ºÍ¿ª·¢ÈËÔ±ÌṩһÌ×È«Ãæ¶øÊµÓõÄÖ¸ÄÏ
Ò»¡¢Àí½âLinux×÷ÒµÓë½ø³Ì ÔÚLinuxϵͳÖУ¬×÷Òµ£¨Job£©Í¨³£Ö¸µÄÊÇÓû§Í¨¹ýshellÌá½»µÄһϵÁÐÃüÁî»ò³ÌÐòÖ´ÐÐʵÀý
ÿ¸ö×÷Òµ¿ÉÒÔÓÉÒ»¸ö»ò¶à¸ö½ø³Ì£¨Process£©×é³É£¬ÕâЩ½ø³ÌÊDzÙ×÷ϵͳ·ÖÅä×ÊÔ´ºÍµ÷¶ÈµÄ»ù±¾µ¥Î»
Àí½â×÷ÒµÓë½ø³ÌµÄ¹ØÏµ£¬ÊÇÕÆÎÕÈçºÎÔÝÍ£×÷ÒµµÄǰÌá
- ½ø³Ì£ºÊÇÖ´ÐÐÖгÌÐòµÄʵÀý£¬Ã¿¸ö½ø³ÌÓÐÆäΨһµÄ½ø³ÌID£¨PID£©£¬ÒÔ¼°ÓëÖ®Ïà¹ØµÄÄÚ´æ¿Õ¼ä¡¢ÎļþÃèÊö·ûµÈ×ÊÔ´
- ×÷Òµ¿ØÖÆ£ºLinux shellÌṩÁË×÷Òµ¿ØÖƹ¦ÄÜ£¬ÔÊÐíÓû§ÔÝÍ£¡¢»Ö¸´¡¢ÖÕÖ¹»òÔÚǰ̨/ºǫ֮́¼äÒÆ¶¯×÷Òµ
ÕâÊÇͨ¹ýÐźţ¨Signal£©»úÖÆÊµÏֵģ¬ÐźÅÊÇÒ»ÖÖÈí¼þÖжϣ¬ÓÃÓÚ֪ͨ½ø³Ì·¢ÉúÁËijÖÖʼþ
¶þ¡¢ÎªÊ²Ã´ÐèÒªÔÝÍ£×÷Òµ ÔÚʵ¼ÊÓ¦ÓÃÖУ¬ÔÝÍ£×÷ÒµµÄÐèÇó¶àÖÖ¶àÑù£¬°üÀ¨µ«²»ÏÞÓÚ£º 1.×ÊÔ´ÓÅ»¯£ºµ±ÏµÍ³×ÊÔ´½ôÕÅ£¬ÈçCPUʹÓÃÂʹý¸ß¡¢ÄÚ´æ²»×ãʱ£¬ÔÝÍ£·Ç½ô¼±×÷Òµ¿ÉÒÔÊÍ·Å×ÊÔ´£¬±£Ö¤¹Ø¼üÈÎÎñµÄÖ´ÐÐ
2.µ÷ÊÔÓë²âÊÔ£º¿ª·¢ÕßÔÚµ÷ÊÔ³ÌÐòʱ£¬¿ÉÄÜÐèÒªÔÝÍ£³ÌÐòÔËÐУ¬ÒÔ±ã¼ì²é״̬¡¢ÉèÖöϵã»ò½øÐÐÆäËû·ÖÎö
3.¶àÈÎÎñ¹ÜÀí£ºÔÚÖ´Ðг¤Ê±¼äÔËÐеÄÈÎÎñʱ£¬Óû§¿ÉÄÜÏ£ÍûÔÝÍ£×÷Òµ£¬ÒÔ±ãÖ´ÐÐÆäËû½ô¼±ÈÎÎñ£¬Ö®ºóÔÙ»Ö¸´ÔÓÐ×÷Òµ
4.½ÚÄÜÓë»·±££º¶ÔÓÚÒÆ¶¯É豸»òµÍ¹¦ºÄ·þÎñÆ÷£¬ÔÝÍ£·Ç±ØÒª×÷ÒµÓÐÖúÓÚ¼õÉÙÄܺģ¬ÑÓ³¤µç³ØÊÙÃü»ò½µµÍÔËÓª³É±¾
Èý¡¢LinuxÖÐÔÝÍ£×÷ÒµµÄ·½·¨ LinuxÌṩÁ˶àÖÖ·½·¨À´ÔÝÍ£×÷Òµ£¬Ö÷Òª°üÀ¨Ê¹ÓÃshellÃüÁî¡¢ÐźſØÖÆÒÔ¼°±à³Ì½Ó¿Ú
ÒÔÏÂÊǼ¸ÖÖ³£¼ûÇÒ¸ßЧµÄ·½·¨£º 1.Ctrl+Z¿ì½Ý¼ü£º ÔÚÖÕ¶ËÖÐÔËÐÐ×÷ҵʱ£¬Èç¹ûÏ£ÍûÁ¢¼´ÔÝÍ£¸Ã×÷Òµ£¬¿ÉÒÔ°´ÏÂ`Ctrl+Z`×éºÏ¼ü
Õ⽫·¢ËÍÒ»¸ö`SIGTSTP`ÐźŸøÇ°Ì¨×÷Òµ£¬Ê¹Æä½øÈëֹͣ״̬
´Ëʱ£¬shell»á·µ»ØÌáʾ·û£¬Óû§¿ÉÒÔÖ´ÐÐÆäËûÃüÁî
bash $long_running_process ^Z ¡¾1¡¿+ Stopped long_running_process 2.bgÓëfgÃüÁ ʹÓÃ`bg`ÃüÁî¿ÉÒÔ½«Í£Ö¹µÄ×÷Òµ·Åµ½ºǫ́¼ÌÐøÔËÐУ¬¶ø`fg`ÃüÁîÔò¿ÉÒÔ½«ºǫ́×÷Òµµ÷»ØÇ°Ì¨Ö´ÐÐ
ÕâÔÚÐèÒªÔÝÍ£ºó»Ö¸´×÷ҵʱ·Ç³£ÓÐÓÃ
bash $ bg ¡¾1¡¿+long_running_process & $ fg %1 long_running_process 3.killÃüÁîÓëÐźţº ͨ¹ý`kill`ÃüÁî·¢ËÍÌØ¶¨µÄÐźŸø½ø³Ì£¬¿ÉÒÔʵÏÖ¸ü¾«Ï¸µÄ¿ØÖÆ
ÀýÈ磬·¢ËÍ`SIGSTOP`ÐźſÉÒÔÊÖ¶¯Í£Ö¹Ò»¸ö½ø³Ì£¬¶ø`SIGCONT`ÐźÅÔòÓÃÓÚ»Ö¸´±»Í£Ö¹µÄ½ø³Ì
bash
$ kill -STOP `nohup`»¹È·±£ÁË×÷ÒµÔÚÖն˹رպóÈÔÄܼÌÐøÔËÐÐ
5.±à³Ì½Ó¿Ú£º
¶ÔÓÚ¿ª·¢ÕßÀ´Ëµ£¬¿ÉÒÔͨ¹ý±à³ÌÓïÑÔ£¨ÈçC¡¢Python£©ÖеÄϵͳµ÷Óûò¿âº¯ÊýÀ´·¢ËÍÐźţ¬ÊµÏÖ×÷ÒµµÄÔÝÍ£Óë»Ö¸´ ÀýÈ磬ÔÚPythonÖпÉÒÔʹÓÃ`os.kill`º¯Êý
ËÄ¡¢¸ß¼¶¼¼ÇÉÓë×î¼Ñʵ¼ù
1.×÷Òµ¼à¿ØÓë×Ô¶¯»¯£º
½áºÏ`top`¡¢`htop`¡¢`ps`µÈ¹¤¾ß¼à¿ØÏµÍ³×ÊԴʹÓÃÇé¿ö£¬ÒÔ¼°`cron`»ò`systemd`ʵÏÖ×÷ÒµµÄ¶¨Ê±Æô¶¯¡¢ÔÝÍ£Óë»Ö¸´£¬¿ÉÒÔ¼«´óµØÌá¸ß×÷Òµ¹ÜÀíµÄ×Ô¶¯»¯Ë®Æ½
2.×ÊÔ´ÏÞÖÆÓëÓÅÏȼ¶µ÷Õû£º
ʹÓÃ`ulimit`ÃüÁîÏÞÖÆ½ø³ÌµÄ×ÊԴʹÓã¨ÈçCPUʱ¼ä¡¢ÄÚ´æ´óС£©£¬ÒÔ¼°`nice`ºÍ`renice`ÃüÁîµ÷Õû½ø³ÌµÄÓÅÏȼ¶£¬¿ÉÒÔÔÚ²»Ö±½ÓÔÝÍ£×÷ÒµµÄÇé¿öÏ£¬¼ä½ÓÓ°Ïì×÷ÒµµÄÖ´ÐУ¬ÓÅ»¯×ÊÔ´·ÖÅä
3.ÈÕÖ¾¼Ç¼Óë´íÎó´¦Àí£º
¶ÔÓÚ³¤Ê±¼äÔËÐеÄ×÷Òµ£¬Á¼ºÃµÄÈÕÖ¾¼Ç¼ºÍ´íÎó´¦Àí»úÖÆÊDZز»¿ÉÉÙµÄ ÕâÓÐÖúÓÚÔÚ×÷Òµ±»ÔÝÍ£»ò·¢ÉúÒ쳣ʱ£¬¿ìËÙ¶¨Î»ÎÊÌâ²¢²ÉÈ¡ÏàÓ¦µÄ»Ö¸´´ëÊ©
4.ÈÝÆ÷»¯ÓëÐéÄ⻯¼¼Êõ£º
ÀûÓÃDocker¡¢KubernetesµÈÈÝÆ÷»¯ÓëÐéÄ⻯¼¼Êõ£¬¿ÉÒÔ¸üÁé»îµØ¹ÜÀí×÷Òµ£¬ÊµÏÖ×ÊÔ´µÄ¸ôÀëÓ붯̬µ÷¶È£¬½øÒ»²½ÌáÉý×÷Òµ¹ÜÀíµÄÁé»îÐÔºÍЧÂÊ
Îå¡¢½áÂÛ
ÕÆÎÕLi