http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1214 [º¹»ç]
óÀ½¾²´Â°Å¶ó¼ ¸¹ÀÌ ºÎÁ·ÇÕ´Ï´Ù. À߸øµÈ°Å ÀÖÀ¸¸é ¸»ÇØÁÖ¼¼¿ä..
°íµîÇб³ °Á¿¡ º¸¸é ±¸Å¸°¡ ¸Û¸ÛÀÇ ip¸¦ ¾Ë¾Æ³»·Á°í °£´ÜÇÑ ÇÁ·Î±×·¥À» Â¥´Âµ¥ ´ë·« ÀÌ°ÅÁÒ
¾Õ »ý·«
for (i=1;i<256;i++)
{
sprintf(cmd,"ping xxx.xxx.xxx.%d |grep from",i);
system(cmd);
}
µÚ »ý·«
ÀÌ°É ½ÇÇàÇÏ¸é ³Ê¹« ´À¸³´Ï´Ù.
±×·¡¼ ¸ÖƼ½º·¹µå·Î Çѹø ÇغýÀ´Ï´Ù.
#include<stdio.h>
#include<unistd.h>
#include<pthread.h>
int ncount;
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
void* do_loop(void *data)
{
int i;
int id = *((int *)data);
char cmd[40];
for (ncount = 1; ncount<256; ncount++)
{
pthread_mutex_lock(&mutex);
//Àá±Ý ¼³Á¤
//printf("thread %d :ping 125.186.8.%d\n",id,ncount);
sprintf(cmd,"ping -c 1 125.186.8.%d |grep from",ncount);
//sprintf(cmd,"echo %d",ncount);
//Àá±Ý ÇØÁ¦
pthread_mutex_unlock(&mutex);
usleep(10);
system(cmd);
}
return 0;
}
int main()
{
int thr_id;
pthread_t p_thread[3];
int status;
int i;
ncount = 0;
//±×·¹µå »ý¼º
for (i=0;i<3;i++)
{
thr_id=pthread_create(&p_thread[i],NULL,do_loop,(void *)&i);
}
for (i=0;i<3;i++)
{
pthread_join(p_thread[i],(void *)&status);
}
//¹ÂÅؽº ¼Ò¸ê
//status=pthread_mutex_destory(&mutex);
printf("program is end\n");
return 0;
}
Àá±Ý ¼³Á¤ºÎºÐÀº Àá±ÝÀ» ÇÏÁö ¾ÊÀ¸¸é 3°³ÀÇ ½º·¹µå°¡ °°Àº ÀÏÀ» ÇÏÁö ¾Ê±âÀ§ÇØ Çϴ°̴ϴÙ.
½º·¹µå1ÀÌ ncountÀÇ °ªÀÎ 1À» ¹Þ¾Æ¿À´Â µ¿¾È ½º·¹µå2¿Í 3Àº ´ë±â
½º·¹µå1ÀÌ 1À» ¹Þ¾Æ¿À¸é ncount´Â 2°¡µÇ°í 1Àº ÇÎÀ» º¸³»°í 3Àº ´ë±â
»ý·«..
´Ù½Ã ½º·¹µå1ÀÌ ÇÎÀ» ³¡³»¸é ´Ù½Ã µé¾î°¡¼ ncountÀÇ °ªÀ» ¾ò¾î³»°í..
½±°Ô ¼³¸íÇÏÀÚ¸é
½ºÅ¸Å©·¹ÇÁÆ®¸¦ ¿¹·Î µé¾îº¼±î¿ä?
Ä¿¸Çµå¼¾ÅÍ°¡ ÀÖ°í °¡½º¾ò´Â°÷(¾ÈÇغÁ¼ À̸§ÀÌ ¹¹¿´´ÂÁö...)°¡ ÀÖ°í SCV°¡ 3´ë ÀÖ½À´Ï´Ù.
SCV1ÀÌ µé¾î°¡¼ °¡½º¸¦ ¾ò¾î¿É´Ï´Ù.(ncountÀÇ ¹ÜÀ» ¹Þ¾Æ¿È)
SCV1ÀÌ ³ª°¡¸é SCV2°¡ µé¾î°¡°í....
ÀÌ·± °Ì´Ï´Ù.
|
Hit : 7687 Date : 2009/03/28 01:35
|