Linux ¾ªÈºÏÖÏó
ÔÚlinuxÖУ¬¾ªÈºÏÖÏóÒѾÏûʧÁ˵ģ¬ÎÒÃÇ¿ÉÒÔ¿´ http://simohayha.javaeye.com/blog/561424 £¬µ«Êǵ±ÎÒÃÇÔÚ¿ª·¢·þÎñÆ÷ʱºò£¬ÐèҪʹÓÃepoll£¬·¢ÏÖÒ»¸öÎÊÌ⣬¾ÍÊǵ±Ò»¸öÇëÇó¹ýÀ´µÄʱºò£¬·¢ÏÖÓеÄʱºò±»»½ÆðµÄ½ø³Ì²»Ö¹Ò»¸ö£¬¿´ÏÂÃæµÄ³ÌÐò:#include <sys/socket.h>
#include <sys/epoll.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <pthread.h>
#include <errno.h>
#include <unistd.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <errno.h>
#define KEY 1234
#define SIZE 1024
#define PORT 9999
#define MAXFDS 5000
#define EVENTSIZE 100
void process();
int fd, cfd,opt=1;
int shmid;
char *shmaddr;
struct shmid_ds buf;
int num = 0 ;
int main(int argc, char *argv[])
{
shmid = shmget(KEY,SIZE,IPC_CREAT|0600); /* ½¨Á¢¹²ÏíÄÚ´æ */
if(shmid == -1){
printf("create share memory failed\n");
}
shmaddr = (char *)shmat(shmid,NULL,0);
if(shmaddr == (void *)-1){
printf("connect to the share memory failed: %s",strerror(errno));
return 0;
}
strcpy(shmaddr,"1\n");
struct sockaddr_in sin, cin;
socklen_t sin_len = sizeof(struct sockaddr_in);
if ((fd = socket(AF_INET, SOCK_STREAM, 0)) <= 0)
{
fprintf(stderr, "socket failed\n");
return -1;
}
memset(&sin, 0, sizeof(struct sockaddr_in));
sin.sin_family = AF_INET;
sin.sin_port = htons((short)(PORT));
sin.sin_addr.s_addr = INADDR_ANY;
if (bind(fd, (struct sockaddr *)&sin, sizeof(sin)) != 0)
{
fprintf(stderr, "bind failed\n");
return -1;
}
if (listen(fd, 32) != 0)
{
fprintf(stderr, "listen failed\n");
return -1;
}
int i ;
for(i = 0; i < 2; i++)
{
int pid = fork();
if(pid == 0)
{
Ïà¹ØÎĵµ£º
2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ ......
×î½ü£¬ORACLEϵͳ»ù±¾µ÷ÊÔͨ¹ý£¬ÊÇʱºòÉèÖÃORACLEËæRHEL×Ô¶¯Æô¶¯Óë¹Ø±Õ·þÎñµÄʱºòÁË£¬Ö®ËùÒÔ°ÑÕâ¸öÈÎÎñ·ÅÔÚ×îºóÀ´×ö£¬ÊÇÒòΪÎÒ¾õµÃÕâ¸öÓ¦¸Ã²»»áºÜÄÑ£¬µ«ÕæÕýʵʩÆðÀ´£¬»¹ÊÇÓöµ½Á˸ö²»Ð¡µÄÕϰ
дºÃ½Å±¾£¬×¢²áºÃ·þÎñÖ®ºó£¬¾²âÊÔ£¬ORACLE¿ÉÒÔËæRHELÆô¶¯¶øÆô¶¯£¬µ«²»ÄÜËæÏµÍ³¹Ø±Õ¶ø¹Ø±Õ¡£ÔÚÍøÉÏÕҴ𰸣¬·¢ÏÖ¼¸ºõËùÓеÄÉèÖùý ......
¹¦ÄÜÃèÊö£º
»ñÈ¡»òÕßÉèÖÃÓëij¸öÌ×½Ó×Ö¹ØÁªµÄÑ¡ ÏѡÏî¿ÉÄÜ´æÔÚÓÚ¶à²ãÐÒéÖУ¬ËüÃÇ×Ü»á³öÏÖÔÚ×îÉÏÃæµÄÌ×½Ó×ֲ㡣µ±²Ù×÷Ì×½Ó×ÖÑ¡Ïîʱ£¬Ñ¡ÏîλÓڵIJãºÍÑ¡ÏîµÄÃû³Æ±ØÐë¸ø³ö¡£ÎªÁ˲Ù×÷Ì×½Ó×Ö²ãµÄÑ¡ÏӦ¸Ã ½«²ãµÄÖµÖ¸¶¨ÎªSOL_SOCKET¡£ÎªÁ˲Ù×÷ÆäËü²ãµÄÑ¡Ï¿ØÖÆÑ¡ÏîµÄºÏÊÊÐÒéº ......
°æÈ¨ÉùÃ÷£ºÔÎĵØÖ·¼°×÷Õß²»Ï꣬ÈçÓÐÇÖȨ£¬ÇëÁªÏµ£»
±¾Îĸø³öÁËÒ»¸öͨÓõÄÏ̳߳ؿò¼Ü£¬¸Ã¿ò¼Ü½«ÓëÏß³ÌÖ´ÐÐÏà¹ØµÄÈÎÎñ½øÐÐÁ˸߲ã´ÎµÄ³éÏó£¬Ê¹Ö®Óë¾ßÌåµÄÖ´ÐÐÈÎÎñÎ޹ء£ÁíÍâ¸ÃÏ̳߳ؾßÓж¯Ì¬ÉìËõÐÔ£¬ËüÄܸù¾ÝÖ´ÐÐÈÎÎñµÄÇáÖØ×Ô¶¯µ÷ÕûÏ̳߳ØÖÐÏ̵߳ÄÊýÁ¿¡£ÎÄÕµÄ×îºó£¬ÎÒÃǸø³öÒ»¸ö¼òµ¥Ê¾Àý³ÌÐò£¬Í¨¹ý¸ÃʾÀý³ÌÐò£¬ÎÒÃǻᷢÏÖ£¬ ......
ÄãÁ˽âLinuxϵͳô£¿ÄãÊÇLinuxϵͳµÄÓ¦ÓÃÕßô£¿Èç¹ûÄãҪѧϰlinux£¬Äã¿ÉÄÜ»áÓöµ½Linux Shell×Ô¶¯½»»¥ÎÊÌ⣬ÕâÀォ½éÉÜLinux Shell×Ô¶¯½»»¥µÄ½â¾ö·½·¨£¬ÔÚÕâÀïÄóöÀ´ºÍ´ó¼Ò·ÖÏíһϡ£
Ò»¡¢±³¾°
shell½Å±¾ÔÚ´¦Àí×Ô¶¯Ñ»·»ò´óµÄÈÎÎñ·½Ãæ¿É½ÚÊ¡´óÁ¿µÄʱ¼ä£¬Í¨¹ý´´½¨Ò»¸ö´¦ÀíÈÎÎñµÄÃüÁîÇåµ¥£¬Ê¹ÓñäÁ¿¡¢Ìõ¼þ¡¢ËãÊõºÍÑ»·µÈ·½ ......