Linux²Ù×÷ϵͳϵĶàÏ̱߳à³ÌÏêϸ½âÎö£¨4£©
º¯ÊýÔÐÍ£º
#include <pthread.h>
void pthread_cleanup_push(void (*rtn)(void *),void *arg);
º¯ÊýrtnÊÇÇåÀíº¯Êý£¬argÊǵ÷ÓòÎÊý
void pthread_cleanup_pop(int execute);
ÔÚÇ°Ãæ½²¹ýÏ̵߳ÄÖÕÖ¹·½Ê½£¬ÊÇÕý³£ÖÕÖ¹»¹ÊÇ·ÇÕý³£ÖÕÖ¹£¬¶¼»á´æÔÚÒ»¸ö×ÊÔ´ÊͷŵÄÎÊÌ⣬ÔÚposixÖÐÌṩÁËÒ»×飬¾ÍÊÇÎÒÃÇÉÏÃæ¿´µÄº¯Êý½øÐÐÏß³ÌÍ˳öµÄ´¦Àíº¯Êý£¬ÓÐЩÏñÔÚ½ø³ÌÖеÄatexitº¯Êý¡£Êͷŵķ½Ê½ÊÇÖ¸pthread_cleanup_pushµÄµ÷Óõ㵽pthread_cleanup_popÖ®¼ä³ÌÐò¶Î½øÐÐÖÕÖ¹¡£
pthread_cleanup_push()/pthread_cleanup_pop²ÉÓÃÏÈÈëºó³öµÄ·½Ê½µÄÕ»µÄ¹ÜÀí·½Ê½£¬void *rtn(void *),ÔÚÖ´ÐÐpthread_cleanup_push()ʱѹÈ뺯ÊýÕ»£¬¶à´ÎÖ´ÐÐpthread_cleanup_push()ÐγÉÒ»¸öº¯ÊýÁ´£¬ÔÚÖ´ÐÐÕâ¸öº¯ÊýÁ´µÄʱºò»áÒÔ·´·½Ïòµ¯³ö£¬¼´ÏÈÈëºó³ö¡£execute²ÎÊý±íʶ£¬ÊÇ·ñÖ´Ðе¯³öÇåÀíº¯Êý£¬µ±execute=0ʱ²»½øÐе¯³öÇåÀíº¯Êý£¬·ÇÁãµÄʱºòµ¯³ö´¦Àíº¯Êý¡£
Àý³Ì9
³ÌÐòÄ¿µÄ£ºÊµÏÖÔÚÕý³£½áÊøÏ̵߳Äʱºò£¬½øÐк¯Êý´¦Àí
³ÌÐòÃû³Æ£ºpthread_clean.c
/********************************************************************************************
** Name:pthread_clean.c
** Used to study the multithread programming in Linux OS
** A example showing a thread to be cleaned.
** Author:zeickey
** Date:2008/6/28
** Copyright (c) 2006,All Rights Reserved!
*********************************************************************************************/
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
void *clean(void *arg)
{
printf("cleanup :%s \n",(char *)arg);
return (void *)0;
}
void *thr_fn1(void *arg)
{
printf("thread 1 start \n");
pthread_cleanup_push( (void*)clean,"thread 1 first handler");
pthread_cleanup_push( (void*)clean,"thread
Ïà¹ØÎĵµ£º
linuxÏÂĬÈÏÖ»ÄܽâѹzipѹËõÎļþ£¬¶ørarÎļþĬÈÏûÓнâѹ֧³ÖµÄ¹¤¾ß£¬ÕâÀïÌṩһ¸ö¼òµ¥µÄ·½Ê½£¬°²×°rar¹¤¾ß£¬Ö§³ÖlinuxϽâѹrarÎļþ¡£
1£ºÊ×ÏÈÏÂÔØrar½âѹ¹¤¾ß£¬ÕâÀïÓà rarlinux-3.6.b6.tar.gz£¬¸ø³öÒ»¸öÍøÓÑÌṩµÄ°æ±¾ÏÂÔØµØÖ·£º
http://blogimg.chinaunix.net/blog/upfile2/080226173046.gz
2£º½ÓÏÂÀ´Ö´ÐÐÈçϲÙ×÷
t ......
1)¹Ø±Õ·À»ðǽ
#service iptables stop<enter> \\¹Ø±Õ·À»ðǽ
#chkconfig iptables off<enter> \\¹Ø±Õ¿ª»úÆô¶¯
2)IPµØÖ·µÄÅäÖÃ
¢ÙÃüÁʽ
#netconfig<enter> \\ÉèÖÃIPµØÖ·¡¢×ÓÍøÑÚÂë¡¢Íø¹Ø¡¢DNS
#vi /etc/sysconfig/network \\Ö÷»úÃû
#hostname XXX \\ÉèÖÃÖ÷»úÃû³Æ
#exit ......
½ñÌì·¢Ïֺܶà³ÌÐòËÀÔÚlinux ·þÎñ½øÖÐ
ÎʸöÎÊÌâ ½ñÌì·¢Ïֺܶà³ÌÐòËÀÔÚlinux ·þÎñ½øÖÐ
ÒѾËÀÁ˺öàÌìÁË¡£ÓÃcrontab ¶¼¶¨ÔÚ Á賿0µãÅÜ¡£
ÏëÖªµÀÈçºÎ²é¿´ ·þÎñÆ÷ÄÄ·½ÃæµÄ×ÊÔ´Ì«ÉÙµ¼Ö½ø³ÌËÀÔÚÀïÃæ£¿
ps -ef|grep load/script | awk '{print $2}' °ÑËÀ½ø³ÌµÄ ID ´òÓ¡³öÀ´
......
ÒÔÏÂÊÇÎҵIJâÊÔociµÄÀý×Ó£¡
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "oci.h"
static OCIServer *srvhp;
static OCISession *p_session;
static OCIEnv &nb ......
ÍøÂç³ÌÐòºÍÆÕͨ³ÌÐò×î´óµÄÇø±ð¾ÍÊÇ,ÍøÂç³ÌÐòÊÇÓÉÁ½²¿·Ö×é³ÉµÄ--server/client.Ò»°ãÇé¿öÏÂ,ÊÇÏÈÔËÐÐserver¶ËÉϵijÌÐò,È»ºóµÈ´ýclient¶ËÉϵijÌÐòÔËÐв¢½¨Á¢Á¬½Ó,server¶ËÉϵijÌÐòÔÚÒ»¸ö¶Ë¿Ú¼àÌý,µÈ´ýclient¶Ë·¢À´µÄÇëÇó.
int socket(int domain,int type,int protocol)
domain:˵Ã÷ͨѶ³ÌÐòËùÔÚÖ÷»úËù²ÉÓõÄͨѶÐÒéÀ ......