Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux ºÍ ¶àÏß³Ì

ÿ´Î¶¼ÊÇÓõ½£¬²éһϣ¬Ð´Ï£¬Õâ´ÎÉÔ΢¼Ç¼Ï±ʼǡ£
ºÍThreadÏà¹Ø£¬»ù±¾µÄÓÐ3¸ö¸ÅÄÏ̵߳Ľ¨Á¢ºÍÏú»Ù£»Ïß³ÌËø£»Ïß³ÌÌõ¼þ
¹ØÓÚ½¨Á¢Ị̈߳º
ret = pthread_create(&thread_id, NULL, Do_Thread, &Do_Thread_Para);
// µÚ2²ÎÊýÊÇthread ÊôÐÔ£¬Ò»°ãÎÒ²»ÓÃÉèÖÃ
// µÚ4¸ö²ÎÊýÊÇDo_ThreadµÄÈë¿Ú²ÎÊý£¬Ò»°ãÎÒ´«Ò»¸ö½á¹¹Ìå½øÈ¥
¹ØÓÚÏú»ÙỊ̈߳º
µÈ´ýÏ߳̽áÊø£ºpthread_join
Ç¿ÐÐɱµôỊ̈߳ºpthread_exit
ÈÃÏß³Ì×ÔÉú×ÔÃð£ºpthread_detach
ÎÒÒ»°ãÓõÄÊǵÚÒ»¸ö£º
pthread_join(thread_id, &Do_Thread_ret);
// µÚ¶þ¸ö²ÎÊýÊÇÏ̷߳µ»ØÖµ 
¹ØÓÚÏß³ÌËø£ºµ±ÒªÔÚ¶à¸öÏ̹߳²ÏíijЩ±äÁ¿µÄʱºò£¬¾ÍÐèÒªÓÃËø¡£ÕâÑù¿ÉÒÔ±£Ö¤Ò»¸öʱ¼äµã£¬Ö»ÓÐÒ»¸öÏß³ÌÄܹ»·ÃÎÊÕâ¸öÏß³Ì
pthread_mutex_t mMutexData£»
pthread_mutex_init(&(mMutexData), NULL); // µÚ2¸ö²ÎÊýÊÇËøµÄÊôÐÔ£¬ÎÒÒ»°ãÓÃĬÈÏ£¬NULL
pthread_mutex_lock(&mMutexData);  // ¼ÓËø
pthread_mutex_unlock(&mMutexData) // È¥Ëø
pthread_mutex_destroy(&mMutexData) // Ïú»Ù
¹ØÓÚÌõ¼þ£ºµ±Ä³¸öÏß³ÌÐèÒªµÈ´ýÆäËûÏ̴߳¦ÀíÍêij¸öÊý¾Ý£¨ÔËÐе½Ä³¸öµã£©µÄ»°£¬¾ÍÐèÒªÓÃÌõ¼þ£¬Ò»°ã¼Ó¸öʱ¼ä²ÎÊý£¬ÒÔ·ÀÖ¹ËÀµÈÏÂÈ¥¡£
pthread_cond_t *sConditionData£»
pthread_cond_init(&(sConditionData), NULL)£» // µÚ2¸ö²ÎÊýÊÇËøµÄÊôÐÔ£¬ÎÒÒ»°ãÓÃĬÈÏ£¬NULL
 pthread_mutex_lock(&mMutexData); // Ò»°ãÌõ¼þ±ØÐëºÍËø¼ÓÔÚÒ»ÆðÓã¬ÒÔ±£Ö¤Ìõ¼þ±äÁ¿²»ÖØÈë
  pthread_cond_signal(&sConditionData); // ·¢ÐźÅ
  pthread_mutex_unlock(&mMutexData);
    struct timespec  ts;
    struct timeval sTime;
    struct timezone sTimeZone£»
   long res;
  pthread_mutex_lock(&(pApp->mMutexData));
  gettimeofday(&sTime, &sTimeZone);
  ts.tv_sec = sTime.tv_sec;
  ts.tv_nsec += 5sTime. tv_usec * 1000 £«20*1000*1000; // 20 ms
  ret = pthread_cond_timedwait(&(pApp->sConditionData), &(pApp->mMutexData), &ts); // µÈºò
  if(ret == ETIMEDOUT)
  {
   pthread_mutex_unlock(&(pApp->mMutexData));
  


Ïà¹ØÎĵµ£º

SynapticsÖúÁ¦Chrome OSºÍLinux¶à點觸Ãþ

4ÔÂ19ÈÕ£¬²Ù×÷½çÃæ½â¾ö·½°¸ÌṩÉÌSynaptics Inc.Ðû²¼ÁËÒ»Ì×ÓÃÓÚLinuxϵ統µÄ Synaptics Gesture Suite¿ª·¢Ì××°£¨SGS-L£©£¬Õâ¿îÈí¼þ½«´ø¸ø¿ªÔ´LinuxϵͳÒÔ¶àµã´¥ÃþµÄÄÜÁ¦¡£
SGS-LÖ§³Ö眾¶àµÄLinux·¢ÐаæÈçFedora, Millos Linpus, Red Flag, SuSE, UbuntuºÍXandros£¬並ÌØ別Ìá¼°¿ÉÍØÕ¹Chrome OSµÄй¦Ä ......

Linux ϳ£ÓÃС¹¤¾ß¼¯

1 ¾­³£ÐèÒª¿Ì¼ ISO Îļþ£¬cdrecord ¿ÉÒÔʵÏÖ
cdrecord ÆäʵÊÇÒ»¸öÈíÁ´½Ó
lrwxrwxrwx 1 root root 5 2009-05-04 22:42 /usr/bin/cdrecord -> wodim
¿Ì¼µÄÃüÁîÈçÏ£º
wodim -v dev=6,0,0 xx.iso # dev ¿ÉÒÔÓà --scanbus ²é¿´
2 ......

Linux x86 Dropbear SSH <= 0.34 remote root exploit

/*
* /*
* Linux x86 Dropbear SSH <= 0.34 remote root exploit
* coded by live
*
* You'll need a hacked ssh client to try this out. I included a patch
* to openssh-3.6.p1 somewhere below this comment.
*
* The point is: the buffer being exploited is too small(25 bytes) to hold our
......

Linux ̽Ë÷

ת£ºhttp://www.nounix.com/linux-explore-the-legend-of-the-beginning-of-the-first-act-14577/
<Linux ̽Ë÷>
µÄÄ¿µÄÊÇ°ïÖúÄúÈÏʶLinux Õâ¸ö²©´ó¾«ÉîµÄ²Ù×÷ϵͳ²úÆ·£¬Èç¹ûÄú´ø×ÅÏë³ÉΪר¼Ò»òÕ߶¥¼âLinux ÈËÎïÀ´¿´±¾ÎĵĻ°£¬Äú¿Ï¶¨ÒªÊ§ÍûÁË¡£ÒòΪÎÒ×Ô¼ºÒ²»¹ÊÇLinux µÄ³õѧÕߣ¬ÔõôÄܹ»Ð´³öÈÃÄú³ÉΪ¸ßÊÖµÄÎÄÕ£¿£¨Ð ......

CÓïÑÔ±àдlinuxϵÄÊØ»¤½ø³Ì

ÀûÓÃ
ÏÂÔصÄÕâ¶Î´úÂ룬³É¹¦ÊµÏÖÁËÊØ»¤½ø³Ì£¬Ô­À´ÊØ»¤½ø³ÌÊǺܼòµ¥µÄÊÂÇé¡£
¡¡¡¡ÔÚmainº¯ÊýÖÐÖ´ÐÐ
¡¡¡¡init_daemon();//³õʼ»¯ÎªDaemon
¡¡¡¡¾Í¿ÉÒ԰ѽø³Ì±ä³ÉÊØ»¤½ø³Ì
¡¡¡¡
#include
#include
#include
#include
#include
void
 init_daemon(void
)
{
int
 pid;
int
 i;
if
(pid=fork()) ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ