linuxÏÂÉú²úÕßÏû·ÑÕßµÄʵÏÖ
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>
#define M 10 // »º³åÊýÄ¿
int in = 0; // Éú²úÕß·ÅÖòúÆ·µÄλÖÃ
int out = 0; // Ïû·ÑÕßÈ¡²úÆ·µÄλÖÃ
int buff[M] = {0}; // »º³å³õʼ»¯Îª0£¬ ¿ªÊ¼Ê±Ã»ÓвúÆ·
sem_t empty_sem; // ͬ²½ÐźÅÁ¿£¬ µ±ÂúÁËʱ×èÖ¹Éú²úÕ߷ŲúÆ·
sem_t full_sem; // ͬ²½ÐźÅÁ¿£¬ µ±Ã»²úƷʱ×èÖ¹Ïû·ÑÕßÏû·Ñ
pthread_mutex_t mutex; // »¥³âÐźÅÁ¿£¬ Ò»´ÎÖ»ÓÐÒ»¸öÏ̷߳ÃÎÊ»º³å
int product_id = 0; //Éú²úÕßid
int prochase_id = 0; //Ïû·ÑÕßid
/* ´òÓ¡»º³åÇé¿ö */
void print()
{
int i;
for(i = 0; i < M; i++)
printf("%d ", buff[i]);
printf("\n");
}
/* Éú²úÕß·½·¨ */
void *product()
{
int id = ++product_id;
while(1)
{
// ÓÃsleepµÄÊýÁ¿¿ÉÒÔµ÷½ÚÉú²úºÍÏû·ÑµÄËÙ¶È£¬±ãÓÚ¹Û²ì
sleep(1);
//sleep(1);
sem_wait(&empty_sem);
pthread_mutex_lock(&mutex);
Õâ¶þ¾äÈç¹ûµßµ¹µÄ»°,¿ÉÄܳöÏÖÒ»ÖÖÒì³£Çé¿ö,
µ±½øÈëÁË»º³åÇøÎªÂúʱ,µßµ¹Ö®ºó»á¶Ô»º³åÇøÏȼÓËø,È»ºó,½ø³ÌÓÉÓÚ»º³åÇøÎªÂòû·¨Éú²ú²úÆ·,ÔÚÕâÀï±»×èÈû,¶øÏû·ÑÕßÓÖÎÞ·¨»ñµÃ»º³åÇøµÄËø½øÈ뻺³åÇø,Òò¶ø»á³öÏÖËÀËø
in = in % M;
printf("product%d in %d. like: \t", id, in);
buff[in] = 1;
print();
++in;
pthread_mutex_unlock(&mutex);
sem_post(&full_sem);
}
}
/* Ïû·ÑÕß·½·¨ */
void *prochase()
{
int id = ++prochase_id;
while(1)
{
// ÓÃsleepµÄÊýÁ¿¿ÉÒÔµ÷½ÚÉú²úºÍÏû·ÑµÄËÙ¶È£¬±ãÓÚ¹Û²ì
sleep(2);
sem_wait(&full_sem); // Õâ¶þ¾äÈç¹ûµßµ¹µÄ»°,¿ÉÄܳöÏÖÒ»ÖÖÒì³£Çé¿ö,
µ±½øÈëÁË»º³åÇøÎª¿Õʱ,µßµ¹Ö®ºó»á¶Ô»º³åÇøÏȼÓËø,È»ºó,½ø³ÌÓÉÓÚ»º³åÇøÎª¿Õû·¢Ïû·Ñ²úÆ·,ÔÚÕâÀï±»×èÈû,¶øÉú²úÕßÓÖÎÞ·¨»ñµÃ»º³åÇøµÄËø½øÈ뻺³åÇø,Òò¶ø»á³öÏÖËÀËø
pthread_mutex_lock(&mutex);
Ïà¹ØÎĵµ£º
GranadosÊÇÒ»¸ö»ùÓÚ.NETµÄSSH¿Í»§¶Ë¿â¡£ËüÓÐÒÔÏÂÌØµã£º
1.GranadosÊÇÒ»¸öC#µÄ¿ªÔ´ÏîÄ¿¡£Ô´ÂëµØÖ·£ºhttp://www.routrek.co.jp/support/download/varaterm/granados200.tar.gz
2.ͬʱ֧³ÖSSH1ºÍSSH2¡£
3.GranadosʵÏÖÁËAES, Blowfish, TripleDES, RSA, DSAµÈ¼ÓÃÜÑéÖ¤Ëã·¨¡£
4.ʵÏÖTCPÐÒéÁ¬½Ó¡£
ÈçºÎʹÓÃGranados¿ ......
http://www.openchess.org/noitatsko/programming/ (2001-05-24 16:47:48)
ÐźŴ¦Àí
--------------------------------------------------------------------------------
ÐźŴ¦Àí¸Å˵
ËͳöÐźÅ
½ÓÊÕÐźÅ
ÐźŵĴ¦Àí
ÈÎÎñ¿ØÖÆ
----------------------------------- ......
ÓÃsecureCRT»òÕ߯äËûһЩ¿Í»§¶Ë¹¤¾ßµÇ½µ½Linux¿ÉÒÔ¿´µ½ËüÏÔʾÁËһЩÑÕÉ«£¬ÕâÊÇÔõô×öµ½µÄÄØ£¿
linuxÎı¾ÖÕ¶Ë¿ÉÒÔÀûÓÃÒ»¸ö¼òµ¥¶øÌØÊâµÄÃüÁîÀ´¿ØÖÆÑÕÉ«µÄÏÔʾ£º\033[<command>m£¬ ÆäÖÐcommand¾ÍÊÇÒ»¸öÊý×Ö
Èç¹ûÊÇÓÃechoÀ´ÏÔʾµÄ»°£¬±ØÐëÖ¸¶¨-e²ÎÊý£¬Èç
echo -e "\033[32mtest\033[0m"
ÆäÖÐÊý×Ö0±íʾ»Ö¸´Ö®Ç° ......
1£¬½â¿ªtar.zµÄѹËõ°ü
# tar xvfz backup.tar.Z
»ò# uncompress backup.tar.Z
#tar xvf backup.tar
2£¬½â¿ª.tgzµÄÎļþ
#gunzip backup.tgz
3£¬ÈçºÎѹËõºÍ½âѹ.bz2µÄÎļþ
&nbs ......
echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -P INPUT ......