LinuxÏÂÀûÓÃÐźÅÁ¿ÊµÏÖPV²Ù×÷
¼ÙÉèÁ½¸ö½ø³Ì£¨¸¸×Ó½ø³Ì£©¶ÔÒ»¸öÎļþ½øÐÐд²Ù×÷£¬µ«ÊÇÕâ¸öÎļþͬһʱ¼äÖ»ÄÜÓÐÒ»¸ö½ø³Ì½øÐÐд²Ù×÷¡£
//ÀûÓÃÐźÅÁ¿ÊµÏÖpv²Ù×÷
#include <stdio.h>
#include <stdlib.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/types.h>
#include <fcntl.h>
struct sembuf sops;
static int sid;
//´´½¨Ò»¸öеÄÐźÅÁ¿¼¯
int createSemset(void)
{
char* pathname="semset";
if( access(pathname, F_OK)!=0 )
{
int fd=open(pathname, O_RDWR | O_CREAT, 0666);
if( fd<0 )
{
perror("open");
return -1;
}
}
key_t key=ftok(pathname, 'a');
if( -1==key )
{
perror("ftok");
return -1;
}
return semget(key, 1, IPC_CREAT | 0666) ;
}
//P²Ù×÷
int P(void)
{
sops.sem_num=0;
sops.sem_op=-1;
sops.sem_flg=0;
return semop(sid, &sops, 1);
}
//V²Ù×÷
int V(void)
{
sops.sem_num=0;
sops.sem_op=1;
sops.sem_flg=0;
return semop(sid, &sops, 1);
}
int main(int argc, char *argv[])
{
sid=createSemset();
if( -1==sid )
{
perror("createSemset");
exit(1);
}
if( -1==semctl(sid, 0, SETVAL, 1) )
{
perror("SETVAL");
exit(1);
}
pid_t pid=fork();
if( pid<0 )
{
perror("fork");
exit(1);
}
else if( 0==pid )
{
while(1)
{
if( -1==P() )
{
printf("P²Ù×÷ʧ°Ü£¡\n");
exit(1);
}
printf("×Ó½ø³ÌÕýÔÚ¶ÔÎļþ½øÐÐд²Ù×÷£¡\n");
sleep(1);
printf("×Ó½ø³Ìд²Ù×÷Íê±Ï£¬ÊÍ·Å×ÊÔ´£¡\n");
if( -1==V() )
{
printf("V²Ù×÷ʧ°Ü£¡");
exit(1);
}
}
}
else
{
while(1)
{
if( -1==P() )
{
printf("P²Ù×÷ʧ°Ü£¡\n");
exit(1);
}
printf("¸¸½ø³Ì½ø³ÌÕýÔÚ¶ÔÎļþ½øÐÐд²Ù×÷£¡\n");
sleep(1);
printf("¸¸½ø³Ìд²Ù×÷Íê±Ï£¬ÊÍ·Å×ÊÔ´£¡\n");
if( -1==V() )
{
printf("V²Ù×÷ʧ°Ü£¡");
exit(1);
}
Ïà¹ØÎĵµ£º
from:http://kevinmindy.spaces.live.com/blog/cns!3D17C679DB4373CA!226.trak
Æäʵ·½·¨²»Ö¹Ò»ÖÖ£¬¿ÉÒÔÔÚ±àÒëQt¿âµÄʱºòÌí¼Ó±àÒëÑ¡ÏîQT_NO_CURSOR£¬ÕâÑùcursorÏà¹ØµÄ´úÂëͳͳ²»»á±»±àÒë½øÈ¥£¬×ÔÈ»Êó±ê¹â±êÒ²²»»á³öÏÖÔÚ³ÌÐòÖС£
È»¶øÓÐʱºòÎÒÃÇÒѾ°ÑcursorÏà¹Ø´úÂë±àÒë½øÈ¥ÁË£¬¶øÓÖ²»ÏëÖØÐ±àÒëQt¿â£¬Ò»¸ö¼òµ¥µÄ·½·¨ÊÇÊ¹Ó ......
LinuxÉ豸Çý¶¯³ÌÐòѧϰ±Ê¼ÇϵÁÐÎÄÕÂÔ×÷ÕßÊÇ£ºTekkaman Ninja£¬Ëû²©¿ÍµØÖ·£º
http://blog.chinaunix.net/u1/34474/showart_404278.html
ÔÚ´ËÏòTekkaman Ninja±íʾ¸Ðл£¬Ð´³öÕâôºÃµÄÎÄÕ£¬Ê¹ÎÒÉÙ×ßÁ˺ܶàÍä·¡£
ͨ¹ýÒ»¸öÉ豸ÔÚÄÚºËÖÐÉúÃüÖÜÆÚµÄ¸÷¸ö½×¶Î£¬¿ÉÒÔ¸üºÃµØÀí½âLinuxÉ豸ģÐÍ¡£ÎÒ½«Í¨¹ý·ÖÎölddbusºÍsculldµÄÔ ......
×öÒ»¸ö×îСµÄLinux kernel
2004-04-23 15:18 pm
À´×Ô£ºLinuxÎĵµ
ÏÖÔØ£ºWww.8s8s.coM
µØÖ·£ºÎÞÃû
Linux ÄÜÓжàÐ¡ÄØ ? ÿһ¸ö×ö embedded ϵͳµÄÈ˶¼°ÑС¿´³ÉµÚÒ»ÒªÎñ£¬ÆäʵÕâÊDz»¶ÔµÄ¡£Èç¹ûÎÒÃǶÔϵͳµÄºÃ»µºÍ´óС×÷ͼ£¬ËüÓ¦¸Ã³¤µÃÏñ
|
|----
|
| -----
|
| --------
| ---
|----------------------- ......
C¹æÔòÉæ¼°µ½ ¶ÓÁÐ(QUEUE) ·ÖÀàÆ÷(CLASS) ¹ýÂËÆ÷£¨FILTER£©,filter»®·ÖµÄ±ê־λ¿ÉÓÃU32»òiptablesµÄset-markÀ´ÊµÏÖ ) Ò»°ãÊÇ"¿Ø·¢"²»¿ØÊÕ linuxÏÂÓÐÁ½¿éÍø¿¨,Ò»¸öeth1ÊÇÍâÍø,ÁíÒ»¿éeth0ÊÇÄÚÍø.ÔÚeth0ÉÏ×öHTB¡££¨×¢Ò⣺filter»®·Ö±ê־λ¿ÉÓÃu32´ò±ê¹¦ÄÜ»òiptablesµÄset-mark¹¦ÄÜ£¬Èç¹ûÓÃiptablesÀ´´ò±ê¼ÇµÄ»°£¬ÏÂÐÐËÙLVÔÚet ......
du -sh xmldb/
du -sm * | sort -n //ͳ¼Æµ±Ç°Ä¿Â¼´óС ²¢°²´óС ÅÅÐò
du -sk * | sort -n
du -sk * | grep guojf //¿´Ò»¸öÈ˵ĴóС
du -m | cut -d "/" -f 2 //¿´µÚ¶þ¸ö/ ×Ö·ûǰµÄÎÄ×Ö
²é¿´´ËÎļþ¼Ð ......