linux½ø³Ì¼äͨÐÅ(ÃüÃû¹ÜµÀ)µÄÎÊÌâ
ÖØµã¿´Ï³ÌÐòµÄºì×Ö²¿·Ö
³ÌÐòÊÇÏëÓÃÃüÃû¹ÜµÀFIFOʵÏÖ¼òµ¥µÄÁÄÌ칦ÄÜ.ÏÂÃæÉèÊÇÀîËĶ˵ÄÔ´´úÂë
#include <stdio.h>
#include <fcntl.h>
#include <memory.h>
#include <string.h>
#include <stdlib.h>
#include <sys/select.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
int main()
{
int i,rfd,wfd,len=0,fd_in;
char str[32];
int flag,stdinflag;
fd_set write_fd,read_fd;
struct timeval net_timer;
mkfifo("fifo1",S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH);
mkfifo("fifo2",S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH);
wfd=open("fifo1",O_WRONLY);
rfd=open("fifo2",O_RDONLY);
if(rfd <0||wfd <0) return 0;
printf("ÕâÊÇÀîËĶË!");
while(1){
FD_ZERO(&read_fd);
FD_SET(rfd,&read_fd);
FD_SET(fileno(stdin),&read_fd);
net_timer.tv_sec=5;
net_timer.tv_usec=0;
memset(str,0,sizeof(str));
if(i=select(rfd+1,&read_fd,NULL,NULL,&net_timer) <=0)
continue;
if(FD_ISSET(rfd,&read_fd)){
read(rfd,str,sizeof(str));
printf("------------------------\n");
printf("zhang:%s\n",str);
}
if(FD_ISSET(fileno(stdin),&read_fd)){
print
Ïà¹ØÎÊ´ð£º
ÎÒÔÚLINUXÉÏÓÐÁ½¸öÓû§
Ò» root
¶þ myadmin
¡¾myadmin@localhost~¡¿$ dir
Desktop myphp
[myadminlocalhost~]$ cd myphp¡¢DesktopÄܽøÈ¥ÆäËûµÄϵͳĿ¼½ø²»È¥
Ö»ÓÐÕâÁ½¸öĿ¼ ÎÒÏë½øÈëÆäËûµÄÏ ......
ÓÉÓÚÎҲŸոսӴ¥socket±à³Ì£¬×Ô¼ºÐ´ÁËÒ»¸ö¼òµ¥³ÌÐò£¬µ«¾ÍÊÇÔÚÔËÐеÄʱºò³öÏֶδíÎó£¬ÎÞ·¨½â¾ö£¬ÏÖÔÚÎÒ°ÑÔ´´úÂëÌù³öÀ´£¬Çë¸÷λ´óϺָÕýһϣ¡Ð»Ð»£¡
#include<stdio.h>
#include<stdlib.h>
#include& ......
´úÂëÌ«¶à£¬²»ºÃÌù£¬
´óÖÂÉæ¼°µ½ÕâЩ£º
char *arg[MAXSIZE];
char *buffer[MAXSIZE];
.........
arg[k]=(char*)malloc(sizeof(char)*j);
strcpy(arg[k],buffer);
.................[color=#993300][/color]
µ ......
ÈçÌ⣬лл
LinuxÊÇ¿ªÔ´µÄ£¬ÄãËÑË÷LinuxÔ´³ÌÐòĿ¼¾Í¿ÉÒÔÕÒµ½shellÃüÁîtimeµÄʵÏÖ´úÂë¡£
kernel/time.c
ÄãµÄÍ·ÏñºÜ²»´íѽ
ʹÓú¯ÊýtimeΪ½ø³ÌÌṩµ±Ç°µÄʱ¼ä
#include<time.h>
time_t time(time ......
ÎÒÏëÒªÒ»¸ölinuxϵͳ¿ªÆôºóµÄ½ØÍ¼£¬¸ÃϵͳÖ÷ÒªÓÐÒÔÏÂÌØµã£º°²×°ÁË¡°X11Èí¼þ°ü¡±£¬Ã»Óаü×°¡°×ÀÃæ¹ÜÀíÆ÷¡±¡£ÎÒÏëÖªµÀ£¬ÕâÑùµÄlinux²Ù×÷ϵͳÊÇʲôÑù×ӵģ¿
Ïë¶à¸øµã·ÖµÄ£¬ÏÖÔÚֻʣÏÂ90·ÖÁË£¬È«²¿ ......