Linux¶àÏ̱߳à³Ì»ù´¡
LinuxϵͳϵĶàÏß³Ì×ñÑPOSIXÏ߳̽ӿڣ¬³ÆÎªpthread¡£±àдLinuxϵĶàÏ̳߳ÌÐò£¬ÐèҪʹÓÃÍ·Îļþpthread.h£¬Á¬½Óʱ
ÐèҪʹÓÿâlibpthread.a¡£Ë³±ã˵һÏ£¬LinuxÏÂpthreadµÄʵÏÖÊÇͨ¹ýϵͳµ÷ÓÃclone£¨£©À´ÊµÏֵġ£clone£¨£©ÊÇLinux
ËùÌØÓеÄϵͳµ÷Óã¬ËüµÄʹÓ÷½Ê½ÀàËÆfork£¬¹ØÓÚclone£¨£©µÄÏêϸÇé¿ö£¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔÈ¥²é¿´ÓйØÎĵµËµÃ÷¡£ÏÂÃæÎÒÃÇչʾһ¸ö×î¼òµ¥µÄ¶àÏ̳߳ÌÐò
example1.c¡£
/* example.c*/
#include <stdio.h>
#include <pthread.h>
void thread(void)
{
int i;
for(i=0;i<3;i++)
printf("This is a pthread.\n");
}
int main(void)
{
pthread_t id;
int i,ret;
ret=pthread_create(&id,NULL,(void *) thread,NULL);
if(ret!=0)
{
printf ("Create pthread error!\n");
exit (1);
}
for(i=0;i<3;i++)
printf("This is the main process.\n");
pthread_join(id,NULL);
return (0);
}
±àÒ룺gcc -o thread1 thread1.c -lpthread
ÔËÐнá¹û
This is the main process.
This is the main process.
This is the main process.
This is a pthread.
This is a pthread.
This is a pthread.
pthread_tÔÚÍ·Îļþ/usr/include/bits/pthreadtypes.hÖж¨Ò壺
typedef unsigned long int pthread_t;
ËüÊÇÒ»¸öÏ̵߳ıêʶ·û¡£º¯Êýpthread_createÓÃÀ´´´½¨Ò»¸öỊ̈߳¬ËüµÄÔÐÍΪ£º
extern
int pthread_create __P ((pthread_t *__thread, __const pthread_attr_t
*__attr,void *(*__start_routine) (void *), void *__arg));
µÚÒ»¸ö²ÎÊýΪָÏòÏ̱߳êʶ·ûµÄÖ¸Õ룬µÚ¶þ¸ö²ÎÊýÓÃÀ´ÉèÖÃÏß³ÌÊôÐÔ£¬µÚÈý¸ö²ÎÊýÊÇÏß³ÌÔËÐк¯ÊýµÄÆðʼµØÖ·£¬×îºóÒ»¸ö²ÎÊýÊÇÔËÐк¯ÊýµÄ²ÎÊý¡£ÕâÀÎÒÃǵÄ
º¯Êýthread²»ÐèÒª²ÎÊý£¬ËùÒÔ×îºóÒ»¸ö²ÎÊýÉèΪ¿ÕÖ¸Õë¡£µÚ¶þ¸ö²ÎÊýÎÒÃÇÒ²ÉèΪ¿ÕÖ¸Õ룬ÕâÑù½«Éú³ÉĬÈÏÊôÐÔµÄÏ̡߳£¶ÔÏß³ÌÊôÐÔµÄÉ趨ºÍÐÞ¸ÄÎÒÃǽ«ÔÚÏÂÒ»
½Ú²ûÊö¡£µ±´´½¨Ï̳߳ɹ¦Ê±£¬º¯Êý·µ»Ø0£¬Èô²»Îª0Ôò˵Ã÷´´½¨Ïß³Ìʧ°Ü£¬³£¼ûµÄ´íÎ󷵻شúÂëΪEAGAINºÍEINVAL¡£Ç°Õß±íʾϵͳÏÞÖÆ´´½¨ÐµÄỊ̈߳¬
ÀýÈçÏß³ÌÊýÄ¿¹ý¶àÁË£»ºóÕß±íʾµÚ¶þ¸ö²ÎÊý´ú±íµÄÏß³ÌÊôÐÔÖµ·Ç·¨¡£´´½¨Ï̳߳ɹ¦ºó£¬Ð´´½¨µÄÏß³ÌÔòÔËÐвÎÊýÈýºÍ²ÎÊýËÄÈ·¶¨µÄº¯Êý£¬ÔÀ´µÄÏß³ÌÔò¼ÌÐøÔËÐÐÏÂÒ»
ÐдúÂë¡£
º¯Êýpthread_joinÓÃÀ´µÈ´ýÒ»¸öÏ̵߳ĽáÊø¡£º¯ÊýÔÐÍΪ£º
extern int
Ïà¹ØÎĵµ£º
2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ ......
tar
-c: ½¨Á¢Ñ¹Ëõµµ°¸
-x£º½âѹ
-t£º²é¿´ÄÚÈÝ
-r£ºÏòѹËõ¹éµµÎļþĩβ׷¼ÓÎļþ
-u£º¸üÐÂÔѹËõ°üÖеÄÎļþ
ÕâÎå¸öÊǶÀÁ¢µÄÃüÁѹËõ½âѹ¶¼ÒªÓõ½ÆäÖÐÒ»¸ö£¬¿ÉÒԺͱðµÄÃüÁîÁ¬Óõ«Ö»ÄÜÓÃÆäÖÐÒ»¸ö¡£ÏÂÃæµÄ²ÎÊýÊǸù¾ÝÐèÒªÔÚѹËõ»ò½âѹµµ°¸Ê±¿ÉÑ¡µÄ¡£
-z£ºÓÐgzipÊôÐÔµÄ
-j£ºÓÐbz2ÊôÐÔµÄ
-Z£ºÓÐcompressÊôÐ﵀ ......
À´Ô´£ºhttp://linux.chinaunix.net/ebook/doc/2009/09/17/1135830.shtml
±¾ÎĽéÉÜÔÚcentos 5.x»·¾³ÏÂͨ¹ýyumÔ´µÄÀ©Õ¹Ê¹ÓÃmunin¡¢ monit¡¢ntop¹¤¾ßÀ´¼à¹ÜÄãµÄÓ¦ÓóÌÐòºÍ·þÎñÆ÷¡£ÌâΪÀÁÈË˵˵µÄÊǼò±ãµÄ°²×°·½Ê½¶øÒÑ£¬½«Ç¿´óµÄ¹¦ÄÜÅäÖüòµ¥µÄÓ¦ÓÃÆðÀ´ÊǺÜÖØÒªµÄ£¬¿ÉÒÔ½Úʡʱ¼ä²¢Ìá¸ßЧÂÊ¡£
Monit£ºhttp:#www.tildeslas ......
Ò»£® °²×°Sendmail¡£
ÍêÈ«°²×°Red Hat Linux
9.0ʱ£¬Sendmail¾Í»á×Ô¶¯ÄÚÖ㬰汾ºÅΪ8.12.8-4¡£Èç¹ûÄ㲻ȷ¶¨LinuxÊÇ·ñÒѾ°²×°ÓÐsendmail£¬¿ÉÒÔÊäÈëÒÔÏÂÃüÁî²é¿´£º
[root@ahpeng root] rpm –qa grep sendmail
Èç¹ûÈ·¶¨Ã»Óа²×°£¬ÇëÔÚÍ ......
Ò»¡¢forkÈëÃÅ֪ʶ
ÏÈ¿´Ò»¸öÀý×Ó£º
/*
* fork_test.c
* version 1
* Created on: 2010-5-29
* Author: wangth
*/
#include <unistd.h>;
#include <stdio.h>
int main ()
{
pid_t fpid; //fpid±íʾforkº¯Êý·µ»ØµÄÖµ
//´Ëʱ½öÓÐÒ»¸ö½ ......