Linux Ïß³ÌÄ£Ð͵ıȽϣºLinuxThreads ºÍ NPTL
Õª×Ô£ºhttp://www.ibm.com/developerworks/cn/linux/l-threading.html
LinuxThreads ÏîÄ¿×î³õ½«¶àÏ̵߳ĸÅÄîÒýÈëÁË Linux®£¬µ«ÊÇ LinuxThreads ²¢²»×ñÊØ
POSIX Ï̱߳ê×¼¡£¾¡¹Ü¸üÐ嵀 Native POSIX Thread
Library£¨NPTL£©¿âÌî²¹ÁËһЩ¿Õ°×£¬µ«ÊÇÕâÈÔÈ»´æÔÚһЩÎÊÌâ¡£±¾ÎÄΪÄÇЩÐèÒª½«×Ô¼ºµÄÓ¦ÓóÌÐò´Ó LinuxThreads ÒÆÖ²µ½
NPTL ÉÏ»òÕßÖ»ÊÇÏ£ÍûÀí½âÓкÎÇø±ðµÄ¿ª·¢ÈËÔ±½éÉÜÕâÁ½ÖÖ Linux Ïß³ÌÄ£ÐÍÖ®¼äµÄÇø±ð¡£
µ± Linux ×î³õ¿ª·¢Ê±£¬ÔÚÄÚºËÖв¢²»ÄÜÕæÕýÖ§³ÖÏ̡߳£µ«ÊÇËüµÄÈ·¿ÉÒÔͨ¹ý clone()
ϵͳµ÷Óý«½ø³Ì×÷Ϊ¿Éµ÷¶ÈµÄʵÌå¡£Õâ¸öµ÷Óô´½¨Á˵÷Óýø³Ì£¨calling
process£©µÄÒ»¸ö¿½±´£¬Õâ¸ö¿½±´Óëµ÷Óýø³Ì¹²ÏíÏàͬµÄµØÖ·¿Õ¼ä¡£LinuxThreads
ÏîĿʹÓÃÕâ¸öµ÷ÓÃÀ´ÍêÈ«ÔÚÓû§¿Õ¼äÄ£Äâ¶ÔÏ̵߳ÄÖ§³Ö¡£²»ÐÒµÄÊÇ£¬ÕâÖÖ·½·¨ÓÐһЩȱµã£¬ÓÈÆäÊÇÔÚÐźŴ¦Àí¡¢µ÷¶ÈºÍ½ø³Ì¼äͬ²½ÔÓï·½Ãæ¶¼´æÔÚÎÊÌâ¡£ÁíÍ⣬Õâ¸ö
Ïß³ÌÄ£ÐÍÒ²²»·ûºÏ POSIX µÄÒªÇó¡£
Òª¸Ä½ø LinuxThreads£¬·Ç³£Ã÷ÏÔÎÒÃÇÐèÒªÄں˵ÄÖ§³Ö£¬²¢ÇÒÐèÒªÖØÐ´Ï߳̿⡣ÓÐÁ½¸öÏ໥¾ºÕùµÄÏîÄ¿¿ªÊ¼À´Âú×ãÕâЩҪÇó¡£Ò»¸ö°üÀ¨
IBM µÄ¿ª·¢ÈËÔ±µÄÍŶӿªÕ¹ÁË NGPT£¨Next-Generation POSIX Threads£©ÏîÄ¿¡£Í¬Ê±£¬Red Hat
µÄһЩ¿ª·¢ÈËÔ±¿ªÕ¹ÁË NPTL ÏîÄ¿¡£NGPT ÔÚ 2003 ÄêÖÐÆÚ±»·ÅÆúÁË£¬°ÑÕâ¸öÁìÓòÍêÈ«Áô¸øÁË NPTL¡£
¾¡¹Ü´Ó LinuxThreads µ½ NPTL ¿´ÆðÀ´ËƺõÊÇÒ»¸ö±ØÈ»µÄ¹ý³Ì£¬µ«ÊÇÈç¹ûÄúÕýÔÚΪһ¸öÀúÊ·ÓÆ¾ÃµÄ Linux
·¢ÐаæÎ¬»¤Ò»Ð©Ó¦ÓóÌÐò£¬²¢ÇҼƻ®ºÜ¿ì¾ÍÒª½øÐÐÉý¼¶£¬ÄÇôÈçºÎÇ¨ÒÆµ½ NPTL
ÉϾͻá±ä³ÉÕû¸öÒÆÖ²¹ý³ÌÖÐÖØÒªµÄÒ»¸ö²¿·Ö¡£ÁíÍ⣬ÎÒÃÇ¿ÉÄÜ»áÏ£ÍûÁ˽â¶þÕßÖ®¼äµÄÇø±ð£¬ÕâÑù¾Í¿ÉÒÔ¶Ô×Ô¼ºµÄÓ¦ÓóÌÐò½øÐÐÉè¼Æ£¬Ê¹ÆäÄܹ»¸üºÃµØÀûÓÃÕâÁ½ÖÖ¼¼
Êõ¡£
±¾ÎÄÏêϸ½éÉÜÁËÕâЩÏß³ÌÄ£ÐÍ·Ö±ðÊÇÔÚÄÄЩ·¢ÐаæÉÏʵÏֵġ£
LinuxThreads Éè¼ÆÏ¸½Ú
Ïß³Ì
½«Ó¦ÓóÌÐò»®·Ö³ÉÒ»¸ö»ò¶à¸öͬʱÔËÐеÄÈÎÎñ¡£Ïß³ÌÓ봫ͳµÄ¶àÈÎÎñ½ø³Ì
Ö®¼äµÄÇø±ðÔÚÓÚ£ºÏ̹߳²ÏíµÄÊǵ¥¸ö½ø³ÌµÄ״̬ÐÅÏ¢£¬²¢»áÖ±½Ó¹²ÏíÄÚ´æºÍÆäËû×ÊÔ´¡£Í¬Ò»¸ö½ø³ÌÖÐÏß³ÌÖ®¼äµÄÉÏÏÂÎÄÇл»Í¨³£Òª±È½ø³ÌÖ®¼äµÄÉÏÏÂÎÄÇл»Ëٶȸü
¿ì¡£Òò´Ë£¬¶àÏ̳߳ÌÐòµÄÓŵã¾ÍÊÇËü¿ÉÒÔ±È¶à½ø³ÌÓ¦ÓóÌÐòµÄÖ´ÐÐËٶȸü¿ì¡£ÁíÍ⣬ʹÓÃÏß³ÌÎÒÃÇ¿ÉÒÔʵÏÖ²¢Ðд¦Àí¡£ÕâЩÏà¶ÔÓÚ»ùÓÚ½ø³ÌµÄ·½·¨Ëù¾ßÓеÄÓŵãÍÆ¶¯
ÁË LinuxThreads µÄʵÏÖ¡£
LinuxThreads ×î³õµÄÉè¼ÆÏàÐÅÏà¹Ø½ø³ÌÖ®¼äµÄÉÏÏÂÎÄÇл»ËٶȺܿ죬Òò´Ëÿ¸öÄÚºËÏß³Ì×ãÒÔ´¦ÀíºÜ¶àÏà¹ØµÄÓû§¼¶Ï̡߳£Õâ¾Íµ¼ÖÂÁËÒ»¶ÔÒ»
Ïß³ÌÄ£Ð͵
Ïà¹ØÎĵµ£º
ÎÒ²»Ì«Ï²»¶linuxÁË£¬ËäÈ»ÎÒÔÚËûÉÏÃæ¶Ï¶ÏÐøÐøµÄ»¨¹ýһЩʱ¼ä£¬ÏÖÔÚ»ØÍ·À´¿´£¬ËüÒ²ÈÃÎÒÀË·ÑÁ˺ܶàµÄʱ¼ä£¬linuxÂÒÆß°ËÔãµÄÅäÖã¬Èí¼þµÄȱ·¦ÁîÎҺܲ»ÊÊ´Ó£¬¶øÇÒËüÒ²²»ÄÜʹÎÒ°ÑÖ÷ÒªµÄ¾Àú¼¯ÖÐÔÚÕæÕý¸ÐÐËȤµÄµØ·½£¬¶ø²»ÊÇΪÁË“Õ÷·þ”linuxÕ´Õ´×Ôϲ£¬ÎÒ²»Ï²»¶ÕâÑùµÄlinux£¬ÕâÑùµÄlinuxÌ«³ÌÐòÔ±»¯ÁË¡£ÎÒΪʲôҪ¶ÁÄÇЩ ......
errno
ÊǸöint±äÁ¿£¬·µ»Ø´íÎó
ÓдíÎóʱʹÓ÷½·¨
fprintf(fp, "%s", strerror(errno))
perrorÓ÷¨
#include <stdio.h>
#include <stdlib.h>
#include<errno.h>
int main(void)
{
FILE *fp;
if((fp=fopen("aaa.txt","r+"))==NULL)
{
puts("²»ÄܽøÈ ......
LinuxϵͳʡÂÔÊäÈëÓû§ÃûÃÜÂë(×Ö·û½çÃæÏ£©
1¡¢Ê¡ÂÔÃÜÂëÑéÖ¤
ºÜ¼òµ¥£¬Ö»Ðè°Ñ/etc/passwdÖеÄroot:x:0:0:root:/root:/bin/bash£¬¸ÄΪroot::0:0:root:/root:/bin/bash£¬¾Í¿ÉÒÔÁË£¬¾ÍÊÇÈ¥µôÁËÀïÃæµÄx£¬ÕâÑùrootÓû§¾Í²»ÓÃÃÜÂëÁË¡£ÆäËûÓû§Ò²Ò»Ñù¡£
2¡¢Ê¡ÂÔÊäÈëÓû§Ãû
(1)ÐÞ¸Ä/etc/inittab
ÔÚinittabÖУ¬ÓÐÈçÏÂÅä ......
1. ¼ì²éOracleµÄ½ø³Ì
$ ps -ef|grep "ora_"|grep -v grep
oracle 5998 1 0 11:15:59 ? 0:01 ora_j000_PPRD10
oracle 2968 1  ......
¶¨Ê±Ö´ÐÐcrontabʹÓ÷½·¨Ïê½â
¡¡¡¡Ê¹Ó÷½Ê½:
¡¡¡¡crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }
¡¡¡¡ËµÃ÷:
¡¡¡¡crontab ÊÇÓÃÀ´ÈÃʹÓÃÕßÔڹ̶¨Ê±¼ä»ò¹Ì¶¨¼ä¸ôÖ´ÐгÌʽ֮ÓÃ,»»¾ä»°Ëµ,Ò²¾ÍÊÇÀàËÆÊ¹ÓÃÕßµÄʱ³Ì±í¡£-u user ÊÇÖ¸É趨ָ¶¨ user
µÄʱ³Ì±í,Õâ¸öǰÌáÊÇÄã±ØÐëÒªÓÐÆäȨÏÞ(±ÈÈç˵ÊÇ root)²ÅÄ ......