linux ulimit ½²½â
1,˵Ã÷:
ulimitÓÃÓÚshellÆô¶¯½ø³ÌËùÕ¼ÓõÄ×ÊÔ´.
2,Àà±ð:
shellÄÚ½¨ÃüÁî
3,Óï·¨¸ñʽ:
ulimit [-acdfHlmnpsStvw] [size]
4,²ÎÊý½éÉÜ:
-H ÉèÖÃÓ²¼þ×ÊÔ´ÏÞÖÆ.
-S ÉèÖÃÈí¼þ×ÊÔ´ÏÞÖÆ.
-a ÏÔʾµ±Ç°ËùÓеÄ×ÊÔ´ÏÞÖÆ.
-c size:ÉèÖÃcoreÎļþµÄ×î´óÖµ.µ¥Î»:blocks
-d size:ÉèÖÃÊý¾Ý¶ÎµÄ×î´óÖµ.µ¥Î»:kbytes
-f size:ÉèÖô´½¨ÎļþµÄ×î´óÖµ.µ¥Î»:blocks
-l size:ÉèÖÃÔÚÄÚ´æÖÐËø¶¨½ø³ÌµÄ×î´óÖµ.µ¥Î»:kbytes
-m size:ÉèÖÿÉÒÔʹÓõij£×¤ÄÚ´æµÄ×î´óÖµ.µ¥Î»:kbytes
-n size:ÉèÖÃÄں˿ÉÒÔͬʱ´ò¿ªµÄÎļþÃèÊö·ûµÄ×î´óÖµ.µ¥Î»:n
-p size:ÉèÖùܵÀ»º³åÇøµÄ×î´óÖµ.µ¥Î»:kbytes
-s size:ÉèÖöÑÕ»µÄ×î´óÖµ.µ¥Î»:kbytes
-t size:ÉèÖÃCPUʹÓÃʱ¼äµÄ×î´óÉÏÏÞ.µ¥Î»:seconds
-v size:ÉèÖÃÐéÄâÄÚ´æµÄ×î´óÖµ.µ¥Î»:kbytes
5.¾ÙÀý
ÔÚLinuxÏÂд³ÌÐòµÄʱºò£¬Èç¹û³ÌÐò±È½Ï´ó£¬¾³£»áÓöµ½“¶Î´íÎ󔣨segmentation fault£©ÕâÑùµÄÎÊÌ⣬ÕâÖ÷Òª¾ÍÊÇÓÉÓÚLinuxϵͳ³õʼµÄ¶ÑÕ»´óС£¨stack size£©Ì«Ð¡µÄÔµ¹Ê£¬Ò»°ãΪ10M¡£ÎÒÒ»°ã°Ñstack sizeÉèÖóÉ256M£¬ÕâÑù¾ÍûÓжδíÎóÁË£¡ÃüÁîΪ£º
ulimit -s 262140
Èç¹ûҪϵͳ×Ô¶¯¼ÇסÕâ¸öÅäÖ㬾ͱà¼/etc/profileÎļþ£¬ÔÚ “ulimit -S -c 0 > /dev/null 2>&1”ÐÐÏ£¬Ìí¼Ó“ulimit -s 262140”£¬±£´æÖØÆôϵͳ¾Í¿ÉÒÔÁË
Ïà¹ØÎĵµ£º
LinuxÏÂC++¿ª·¢¹¤¾ß½éÉÜ
¡¡¡¡¸ÅÊö
¡¡¡¡¾ÍC£«£«¿ª·¢¹¤¾ß¶øÑÔ£¬ÓëWindowsÏÂ΢Èí£¨VC£¬ VS2005µÈ£©Ò»Í³ÌìÏÂÏà±È£¬Linux/UnixÏÂC£«£«¿ª·¢£¬¿ÉνÎ廨°ËÃÅ£¬¸÷ʽ¸÷Ñù¡£Emacs, vi, eclipse, anjuta£¬kdevelopµÈ²ã³ö²»Çî¡£
¡¡¡¡WindowsÏ£¬¿ª·¢¹¤¾ß¶àÒÔ¼¯³É¿ª·¢»·¾³IDEµÄÐÎʽչÏÖ¸ø×îÖÕÓû§¡£ÀýÈ磬VS2005¼¯³ ......
do_exit() Function
-----------------------------------------------------------------------
kernel/exit.c
707 NORET_TYPE void do_exit(long code)
708 {
709 struct task_struct *tsk = current;
710
711 if (unlikely(in_interrupt()))
712 panic("Aiee, killing interrupt handler!");
713 if ......
Ò»¡¢½ø³Ì¿ØÖÆ£º
fork
´´½¨Ò»¸öнø³Ì
clone
°´Ö¸¶¨Ìõ¼þ´´½¨×Ó
½ø³Ì
execve
ÔËÐпÉÖ´ÐÐÎļþ
exit
ÖÐ
Ö¹½ø³Ì
_exit
Á¢¼´ÖÐÖ¹µ±Ç°½ø³Ì
getdtablesize
½ø
³ÌËùÄÜ´ò¿ªµÄ×î´óÎļþÊý
getpgid
»ñȡָ¶¨½ø³Ì×é±êʶºÅ
setpgid
Éè
ÖÃÖ¸¶¨½ø³Ì×é±êÖ¾ºÅ
getpgrp
»ñÈ¡µ±Ç°½ø³Ì×é±êʶºÅ
setpgrp
Éè
Öõ±Ç°½ø³Ì×é± ......
select()µÄ»úÖÆÖÐÌṩһfd_setµÄÊý¾Ý½á¹¹£¬Êµ¼ÊÉÏÊÇÒ»longÀàÐ͵ÄÊý×飬 ÿһ¸öÊý×éÔªËØ¶¼ÄÜÓëÒ»´ò¿ªµÄÎļþ¾ä±ú£¨²»¹ÜÊÇSocket¾ä±ú,»¹ÊÇÆäËû Îļþ»òÃüÃû¹ÜµÀ»òÉ豸¾ä±ú£©½¨Á¢ÁªÏµ£¬½¨Á¢ÁªÏµµÄ¹¤×÷ÓɳÌÐòÔ±Íê³É£¬ µ±µ÷ÓÃselect()ʱ£¬ÓÉÄں˸ù¾ÝIO״̬ÐÞ¸Äfd_setµÄÄÚÈÝ£¬ÓÉ´ËÀ´Í¨ÖªÖ´ ÐÐÁËselect()µÄ½ø³ÌÄ ......
ÔÚLinuxϱàдDaemon
ÔÚLinux£¨ÒÔRedhat Linux Enterprise Edition 5.3ΪÀý£©Ï£¬ÓÐʱÐèÒª±àдService¡£ServiceÒ²ÊdzÌÐò£¬Ò»°ãËæÏµÍ³Æô¶¯Óû§²»¸ÉÔ¤¾Í²»Í˳öµÄ³ÌÐò£¬¿ÉÒÔ³ÆÎªService¡£LinuxϵÄServiceÒ»°ã³ÆÎªDaemon¡£
ÒÔÉÏÊǹãÒåµÄServiceµÄ¶¨Òå¡£LinuxϵķþÎñÒ»°ã·ÅÔÚ/etc/init.dÎļþ¼ÐÏ¡£ä¯ÀÀÒ»ÏÂÕ ......