linux tuxedo ÈëÃÅ
ÕÛÌÚÁË´ó°ëÌì¶¼ÖÕ°Ñtuxedo°²×°£¬²¢Ð´ºÃµÚÒ»¸öÀý×Ó£¬¼´È»°²×°¿ÉÒÔʹÓÃUIµÄ·½Ê½½øÐа²×°£¬°²×°Íê³ÉºóÒª½øÐл·¾³±äÁ¿µÄÅäÖ㬰ÑtuxedoĿ¼ÖеÄtux.envµÄÅäÖã¬Ìí¼Óµ½/home/oracle/.bash_profile£¬ÒòΪÎÒÊÇÒÔoracleÓû§À´°²×°oracle ºÍtuxedo µÄ¡£
·þÎñÆ÷¶Ë´úÂësimpserv.c:
#include <stdio.h>
#include <ctype.h>
#include <atmi.h>
#include <userlog.h>
#if defined(_STDC_)||defined(_cplusplus)
tpsvrinit(int argc,char *argv[])
#else
tpsvrinit(argc,argv)
int argc;
char **argv;
#endif
{
argc=argc;
argv=argv;
userlog("Welcome to the simple server");
return(0);
}
#ifdef _cplusplus
extern "C"
#endif
#if defined(_STDC_)||defined(_cplusplus)
void TOUPPER(TPSVCINFO *rqst)
#else
void TOUPPER(rqst)
TPSVCINFO *rqst;
#endif
{
int i;
for(i=0;i<rqst->len-1;i++)
rqst->data[i]=toupper(rqst->data[i]);
tpreturn(TPSUCCESS,0,rqst->data,0L,0);
}
±àÒë·½·¨Ö¸Ábuildserver -o simpserv -f simpserv.c -s TOUPPER
¿Í»§¶Ë´úÂësimpcl.c£º
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "atmi.h"
#if defined(_STDC_)||defined(_cplusplus)
main(int argc,char *argv[])
#else
main(argc,argv)
int argc;
char *argv[];
#endif
{
char *sendbuf,*rcvbuf,*ptr;
char *msg="Tuxedo is powerful.";
long sendlen,rcvlen;
int ret;
/*¿ªÊ¼Á¬½Ó*/
if(tpinit((TPINIT *)NULL)==-1 ){
(void)fprintf(stderr,"Tpinit failed\n");
exit(1)
Ïà¹ØÎĵµ£º
Ê×ÏÈ£¬ÔÚ±àÒë³ÌÐòʱ£¬Ôö¼Ó-gÑ¡ÏʹִÐÐÎļþ°üº¬·ûºÅÐÅÏ¢¡£Æä´Î£¬ÔÚ³ÌÐò¿ªÊ¼ÔËÐÐʱ£¬µ÷ÓÃapiº¯ÊýÉèÖÃÐźŴ¦Àíº¯Êý(Èçsignal(), sigaction()µÈ)£¬ÓÃÀ´´¦Àí¸÷ÖÖÐźš£ÀýÈç³ÌÐò·¢Éú”³ý0´íÎó”ʱ£¬¾Í»á·¢³öÒ»ÖÖÐźš£×îºó£¬Íê³ÉÒ»¸öº¯Êý¶ÑÕ»Êä³öº¯Êý¡£ÓÃbacktrack()»ñÈ¡º¯Êýµ ......
·½·¨Ò»£ºsingle mode
[code]1. ÔÚ GRUB 選單畫ÃæµÄ時ºò£¬°´ e
2. ÕÒµ½這Ò»ÐС¾kernel /vmlinuz-2.xxxxxxx ro root=/dev/hda2¡¿°´ e
3. ÔÚ這Ò»ÐÐ×îáá¼ÓÉÏ single£¨ÒªÁôÒ»個¿Õ¸ñÔÙ¼Ó sing ......
´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......