linux CʹÓùܵÀͨÐÅ£¨Ò»£©
LinuxÖеĽø³ÌͨÐÅ
1.¹ÜµÀ
º¯ÊýÔÐÍ£ºint pipe(int filedes[2]);
º¯Êý·µ»ØÖµ£º ÕýÈ··µ»Ø0£»´íÎó·µ»Ø-1
ÆäÖеÄÎļþÃèÊö·ûfiledes[0]ÊÇÓÃÀ´¶ÁÈ¡Êý¾ÝµÄ£¬filedes[1]ÊÇÓÃÀ´Ð´Êý¾ÝµÄ¡£
Àý×Ó1£º
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#define MAXLINE 1024
int main(void)
{
int n,files[2];
pid_t pid;
char line[MAXLINE];
if(pipe(files)<0)
{
fprintf(stderr,"pipe error!\n);
exit(1);
}
if((pid=fork())<0)
{
fprintf(stderr,"fork error!\n");
exit(1);
}
else if(pid>0)
{
close(fd[0]);
write(fd[1],"how are you!\n",13);
}
else
{
close(fd[1]);
n=read(fd[0],line,MAXLINE);
write(STDOUT_FILENO,line,n);
}
exit(0);
}
Àý×Ó2£º
ÒÔÏÂÊǼÆËãÁ½¸öÊýµÄºÍ£º
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#define MAXLINE 1024
int main(void)
{
int n,int1,int2;
char line[MAXLINE];
while((n=read(STDIN_FILENO,line,MAXLINE))>0)
{
line[n]=0;
if(sscanf(line,"%d+%d",&int1,&int2)==2)
{
sprintf(line,"%d\n",int1+int2);
n=strlen(line);
if(write(STDOUT_FILENO,line,n)!=n)
{
fprintf(stderr,"write error!\n");
exit(1);
}
}
else
{
if(write(STDOUT_FILENO,"invalid args\n",13)!=13)
{
fprintf(stderr,"write error error!\n");
exit(1);
}
}
}
exit(0);
}
ÏÂÃæµÄ³ÌÐòµ÷ÓÃÉÏÃæµÄadd³ÌÐò£¬²¢Í¨¹ý¹ÜµÀ´«Öµ£º
#include<stdio.h>
#include<signal.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>
#define MAXLINE 1024
static void sig_pipe(int);
int main(void)
{
int n,fd1[2],fd2[2];
pid_t pid;
char line[MAXLINE];
if(signal(SIGPIPE,sig_pipe)==SIG_ERR)
{
fprintf(stderr,"signal error!\n");
exit(1);
}
if(pipe(fd1)<0 || pipe(fd2)<0)
{
fprintf(stderr,"pipe error!\n");
exit(1);
}
if((pid=fork())<0)
{
fprintf(stderr,"fork error!\n");
exit(1);
}
else if(pid>0)
{
close(fd1[0]);
close
Ïà¹ØÎĵµ£º
Yum ÊÇyellowdog updater modifiedµÄËõд¡£yum µÄÀíÄîÊÇʹÓÃÒ»¸öÖÐÐIJֿâ(repository)¹ÜÀíÒ»²¿·ÖÉõÖÁÒ»¸ö distribution µÄÓ¦ÓóÌÐòÏ໥¹ØÏµ£¬¸ù¾Ý¼ÆËã³öÀ´µÄÈí¼þÒÀÀµ¹ØÏµ½øÐÐÏà¹ØµÄÉý¼¶¡¢°²×°¡¢É¾³ýµÈµÈ²Ù×÷£¬¼õÉÙÁË Linux Óû§Ò»Ö±Í·Í´µÄ dependencies µÄÎÊÌ ......
1.¶¨Ò庯ÊýÖ¸ÕëÀàÐÍ
Òª¸ù¾Ý¶¯Ì¬¿âÖÐҩʹÓõĺ¯Êý£¬ÔÚÍâÃæ¶¨ÒåͬÑùÀàÐ͵ĺ¯ÊýÖ¸ÕëÀàÐÍ£¬¹©ÒÔºóʹÓÃ
typedef unsigned long(*POpenDev)(IN unsigned long int);
2. ¶¨Ò庯ÊýÖ¸Õë
POpenDev OpenDev;
3.¶¯Ì¬¼ÓÔØ¶¯Ì¬¿â
HANDLE sohandle = NULL;
sohandle = dlopen("libNiKeyDll.so", RTLD_NOW);
......
Linux·þÎñÆ÷ËäÈ»Ïà¶ÔÀ´Ëµ±ÈWindwos·þÎñÆ÷ÒªÎȶ¨Ó밲ȫ¡£µ«ÊÇÎȶ¨°²È«µÄLinux·þÎñÆ÷£¬ÈÔÈ»Àë²»¿ªºÏÀíµÄ¼°Ê±µÄά»¤¹¤×÷¡£
¡¡¡¡Ò»¡¢ÈÃÈí¼þ°ü±£³Ö×îеİ汾
¡¡¡¡Linux·þÎñÆ÷µÄÈí¼þ°üÒ²ÈçͬWindwos²Ù×÷ϵͳµÄ²¹¶¡Ò»ÑùÔÚ²»¶ÏµÄÉý¼¶¡£Linux·þÎñÆ÷Èí¼þµÄÉý¼¶Ö÷ÒªÓÐÁ½¸öÄ¿µÄ¡£Ò»ÊÇÔöÇ¿Èí¼þµÄ¹¦ÄÜ£¬¶þÊǽâ¾öһЩÒÑÖªµÄ°²È«Â©¶´¡£Èç ......
ÔÚLinuxÏÂдÁ˸öСµÄsocket³ÌÐò£¬·ÖΪ¿Í»§¶ËºÍ·þÎñÆ÷¶Ë£¬·þÎñ¶Ë¿ªÒ»¸ö¶Ë¿Ú(20000)£¬×öΪһ¸ödaemon£¬µÈ´ý¿Í»§µÄÁ¬½ÓÇëÇó¡£Ò»µ©Óпͻ§Á¬½Ó£¨¿Í»§¶ËµÄIPºÍ¶Ë¿ÚºÅÊDz»¹Ì¶¨µÄ£©£¬·þÎñÆ÷¶Ë´òÓ¡³ö¿Í»§¶ËµÄIPµØÖ·ºÍ¶Ë¿Ú£¬²¢ÇÒÏò¿Í»§¶Ë·¢ËÍ»¶ÓÐÅÏ¢ºÍʱ¼ä¡£
ÏÂÃæÊÇ ......
Ò»¸öÕýÔò±í´ïʽµÄ½Ì³Ì¿ÉÒԲο´£¨ÀïÃæÓиö²âÊÔÕýÔò±í´ïʽµÄ¹¤¾ß£©
http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm#ad
ÕýÔò±í´ïÊÇÓÃÀ´Æ¥Åä×Ö·û´®µÄºÃ¶«¶«¡£
Èç¹ûÓû§ÊìϤLin ......