Linux FIFO´úÂëÎÊÌâ - Linux/UnixÉçÇø / ³ÌÐò¿ª·¢Çø
/*speak.c*/
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#define FIFO_NAME "american_maid"
int main(void)
{
char s[300];
int num, fd;
mknod(FIFO_NAME, S_IFIFO | 0666, 0);
printf("waiting for readers...\n");
fd = open(FIFO_NAME, O_WRONLY);
printf("got a reader--type some stuff\n");
while (gets(s), !feof(stdin)) {
if ((num = write(fd, s, strlen(s))) == -1)
perror("write");
else
printf("speak: wrote %d bytes\n", num);
}
return 0;
}
/*tick.c*/
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#define FIFO_NAME "american_maid"
int main(void)
{
char s[300];
int num, fd;
mknod(FIFO_NAME, S_IFIFO | 0666, 0);
printf("waiting for writers...\n");
fd = open(FIFO_NAME, O_RDONLY);
printf("got a writer\n");
do {
if ((num = read(fd, s, 300)) == -1)
perror("read");
else {
s[num] = '\0';
printf("tick: read %d bytes: \"%s\"\n&
Ïà¹ØÎÊ´ð£º
ÇëÎÒÓÃFCKÉÏ´«Îļþ,ÔÚ±¾µØµÄwindows»úÉϲâÊÔ¿ÉÒÔ£¬µ«²¿Êðµ½linux·þÎñÆ÷ÉϾÍÉÏ´«²»ÁËÎļþ£¬ÉÏ´«Îļþʱһֱ¿¨ÔÚÄÇÀï¡£Íû¸÷λ´óϺָµã£¬Ð»Ð»£¡
·¹ý£¬°ïÄ㶥һϡ£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£
ÉÏ´«ÎļþµÄ·¾¶ÎÊÌ⣬ ......
ÔÚubuntuÉϴÁË·þÎñÆ÷£¬¸ùĿ¼Ϊ/var/www£¬Ê¹ÓÃphp½Å±¾ÔÚ/var/www/htmlÎļþ¼ÐÏÂÉú³ÉÁËÎļþ¼ÐºÍÎļþ£¬Éú³ÉµÄ¸ñʽÊÇ/var/www/html/123456/sss.html£¬Éú³Éºó²é¿´htmlÎļþ¼ÐµÄȨÏÞÊÇwww-data£¬ÎÒÖ´ÐÐphpµÄɾ³ý½Å±¾µÄʱ ......
ÎÒѧϰLinuxÓÐÒ»¶Îʱ¼äÁË£¬Ñ§Ï°¹ýshell½Å±¾±àд£¬¿´¹ý¡¶Unix¸ß¼¶»·¾³±à³Ì¡·£¬µ«ÊÇ×ܾõµÃ¿´µÄºÍдµÄ³ÌÐòºÜÉÙ£¬¾õµÃ¿´ÁËÖ®ºóûÓÐʲô×÷Óã¬Ö»ÊǼÇסÁËЩº¯Êý¶øÒÑ£¬Ã»ÓÐʵս¡£¶øÇҸоõÏÖÔÚѧϰLinuxºÜûÓз½Ïò£¬²»Ö ......
×î½üÏëÁ˽âÏÂÄÚÁª»ã±à£¬ÏëÒªÓÃÀ´²Ù×÷ÏÂÊý×éµÄʱºòÓöµ½Ð©À§ÄÑ¡£
ÎÒÁ˽⵽µÄһЩ·½·¨£º
C/C++ code:
int main()
{
//ÕâÖÖ·½·¨¿ÉÒÔµ¥¶À²Ù×÷Êý×éÖеÄÒ»¸ö
int a[10];
__asm__("movl $10, %0&quo ......
ÎÒ×°µÄÊÇSUSELinux£¬Ö®Ç°°ÑIPÉèÖÃÕâЩÉèÖúú󣬲¢ÇÒÊÇNATÁ¬½Ó·½Ê½£¬ÎÒµÄLinux¾ÍÖ±½Ó¿ÉÒÔÉÏÍøÁË¡£
µ«ÊÇÎÒÃÇÀÏʦ¸øÎҸijÉÇŽӷ½Ê½ºó£¬¾Í²»ÄÜÉÏÍøÁË£¬ÎÒÔڸĻØNAT£¬»¹ÊDz»ÄÜ£¬Ï£ÍûÓÐÈ˰ïæ¡£
»òÕßÌṩ¸ü¼ÓÏêϸ׼ȷ ......