linuxϵͳµ÷Óã¨×ª£©
ÆäÖÐÓÐһЩº¯ÊýµÄ×÷ÓÃÍêÈ«Ïàͬ£¬Ö»ÊDzÎÊý²»Í¬¡££¨¿ÉÄܺܶàÊìϤC++ÅóÓÑÂíÉϾÍÄÜÁªÏëÆðº¯ÊýÖØÔØ£¬µ«ÊDZðÍüÁËLinuxºËÐÄÊÇÓÃCÓïÑÔдµÄ£¬ËùÒÔÖ»
ÄÜÈ¡³É²»Í¬µÄº¯ÊýÃû£©¡£»¹ÓÐһЩº¯ÊýÒѾ¹ýʱ£¬±»ÐµĸüºÃµÄº¯ÊýËù´úÌæÁË£¨gccÔÚÁ´½ÓÕâЩº¯Êýʱ»á·¢³ö¾¯¸æ£©£¬µ«ÒòΪ¼æÈݵÄÔÒò»¹±£Áô×Å£¬ÕâЩº¯ÊýÔÚǰ
Ãæ±êÉÏ“*”ºÅÒÔÊ¾Çø±ð¡£
Ò»¡¢½ø³Ì¿ØÖÆ£º
fork
´´½¨Ò»¸öнø³Ì
clone
°´Ö¸¶¨Ìõ¼þ´´½¨×Ó½ø³Ì
execve
ÔËÐпÉÖ´ÐÐÎļþ
exit
ÖÐÖ¹½ø³Ì
_exit
Á¢¼´ÖÐÖ¹µ±Ç°½ø³Ì
getdtablesize
½ø³ÌËùÄÜ´ò¿ªµÄ×î´óÎļþÊý
getpgid
»ñȡָ¶¨½ø³Ì×é±êʶºÅ
setpgid
ÉèÖÃÖ¸¶¨½ø³Ì×é±êÖ¾ºÅ
getpgrp
»ñÈ¡µ±Ç°½ø³Ì×é±êʶºÅ
setpgrp
ÉèÖõ±Ç°½ø³Ì×é±êÖ¾ºÅ
getpid
»ñÈ¡½ø³Ì±êʶºÅ
getppid
»ñÈ¡¸¸½ø³Ì±êʶºÅ
getpriority
»ñÈ¡µ÷¶ÈÓÅÏȼ¶
setpriority
ÉèÖõ÷¶ÈÓÅÏȼ¶
modify_ldt
¶Áд½ø³ÌµÄ±¾µØÃèÊö±í
nanosleep
ʹ½ø³Ì˯ÃßÖ¸¶¨µÄʱ¼ä
nice
¸Ä±ä·Öʱ½ø³ÌµÄÓÅÏȼ¶
pause
¹ÒÆð½ø³Ì£¬µÈ´ýÐźÅ
personality
ÉèÖýø³ÌÔËÐÐÓò
prctl
¶Ô½ø³Ì½øÐÐÌØ¶¨²Ù×÷
ptrace
½ø³Ì¸ú×Ù
sched_get_priority_max
È¡µÃ¾²Ì¬ÓÅÏȼ¶µÄÉÏÏÞ
sched_get_priority_min
È¡µÃ¾²Ì¬ÓÅÏȼ¶µÄÏÂÏÞ
sched_getparam
È¡µÃ½ø³ÌµÄµ÷¶È²ÎÊý
sched_getscheduler
È¡µÃÖ¸¶¨½ø³ÌµÄµ÷¶È²ßÂÔ
sched_rr_get_interval
È¡µÃ°´RRËã·¨µ÷¶ÈµÄʵʱ½ø³ÌµÄʱ¼äƬ³¤¶È
sched_setparam
ÉèÖýø³ÌµÄµ÷¶È²ÎÊý
sched_setscheduler
ÉèÖÃÖ¸¶¨½ø³ÌµÄµ÷¶È²ßÂԺͲÎÊý
sched_yield
½ø³ÌÖ÷¶¯Èóö´¦ÀíÆ÷,²¢½«×Ô¼ºµÈºòµ÷¶È¶ÓÁжÓβ
vfork
´´½¨Ò»¸ö×Ó½ø³Ì£¬ÒÔ¹©Ö´ÐÐгÌÐò£¬³£ÓëexecveµÈͬʱʹÓÃ
wait
µÈ´ý×Ó½ø³ÌÖÕÖ¹
wait3
²Î¼ûwait
waitpid
µÈ´ýÖ¸¶¨×Ó½ø³ÌÖÕÖ¹
wait4
²Î¼ûwaitpid
capget
»ñÈ¡½ø³ÌȨÏÞ
capset
ÉèÖýø³ÌȨÏÞ
getsid
»ñÈ¡»áÎî±êʶºÅ
setsid
ÉèÖûáÎî±êʶºÅ
¶þ¡¢Îļþϵͳ¿ØÖÆ
1¡¢Îļþ¶Áд²Ù×÷
fcntl
Îļþ¿ØÖÆ
open
´ò¿ªÎļþ
creat
´´½¨ÐÂÎļþ
close
¹Ø±ÕÎļþÃèÊö×Ö
read
¶ÁÎļþ
write
дÎļþ
readv
´ÓÎļþ¶ÁÈëÊý¾Ýµ½»º³åÊý×éÖÐ
writev
½«»º³åÊý×éÀïµÄÊý¾ÝдÈëÎļþ
pread
¶ÔÎļþËæ»ú¶Á
pwrite
¶ÔÎļþËæ»úд
lseek
ÒÆ¶¯ÎļþÖ¸Õë
_llseek
ÔÚ64λµØÖ·¿Õ¼äÀïÒÆ¶¯ÎļþÖ¸Õë
dup
¸´ÖÆÒÑ´ò¿ªµÄÎļþÃèÊö×Ö
dup2
°´Ö¸¶¨Ìõ¼þ¸´ÖÆÎļþÃèÊö×Ö
flock
Îļþ¼Ó/½âËø
poll
I/O¶à·ת»»
truncate
½Ø¶ÏÎļþ
ftruncate
²Î¼ûtruncate
umask
Ïà¹ØÎĵµ£º
½ø³ÌI/Oº¯Êý,Óëpcloseº¯ÊýÒ»ÆðʹÓá£
±íÍ·Îļþ
¡¡¡¡#include <stdio.h>
º¯Êý¶¨Òå
¡¡¡¡FILE * popen
( const char * command
, const char * type
);
¡¡¡¡int pclose
( FILE * stream
);
º¯Êý˵Ã÷
¡¡¡¡
popen() º¯Êýͨ¹ý´´½¨Ò»¸ö¹ÜµÀ£¬µ÷Óà fork ²úÉúÒ»¸ö×Ó½ø³Ì£¬Ö´ÐÐÒ»¸ö shell ÒÔÔËÐÐÃüÁîÀ´¿ªÆôÒ» ......
±¾À´ÎÒÓõÄÊÇÕâÑùµÄ³ÌÐò
# include <iostream.h>
int main(void)
{
int i,j;
j=0;
i=j+1;
cout<<"hello world!"<<endl;
cout<<"the result is"<<i<<endl;
return 0;
}
ÀûÓÃg++ -o test test.cpp¡£µ«ÊÇÕâÑùÊÇÓдíÎóµÄ£¬ÌáʾÎÞ·¨´ ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
½üÈÕ£¬ÔÚLinuxCON 2009´ó»áÉÏ£¬×ÀÃæ
Linux
ÓÖ³ÉΪҵ½ç¹Ø×¢µÄ½¹µãÖ®Ò»¡£¸÷ÖÖ²»Í¬µÄÉùÒô£¬É¤ÃŶ¼ºÜ´ó¡£ÔÚÕâ·×·×ÈÂȵķÕΧÖУ¬
Linux
ÈçºÎ×ß³ö×ÀÃæÀ§¾³£¿
& ......
ÊÖÍ·Óиöep9315µÄ°å£¬½ñÌìͻȻÏëÆðÅÜÒ»ÏÂadslÉÏÍø¡£ÍíÉÏ»ØÀ´¾Í¿ªÊ¼¸ã¡£
´Ó10µãµ½ÏÖÔÚ£¬ÖÕÓÚÄܹ»ÅÜÆðÀ´¡£
¸ø´ó¼Ò½è¼øÒ»Ï¡£
1.±àÒëÄںˣ¬°ÑpppµÄÄÇЩѡÏîÑ¡ÉÏ¡£ (ÎÒÓÃ2.6.8.1µÄkernel£¬cirrus µÄpatch)
2.libpcap-0.9.1 Õâ¸ö°üÊÇpppdÐèÒªµÄ¡£
./configure CC=arm-linux-gcc CFLAGS=-msoft-float --target=arm-linu ......
Õâ¸öÐéÄâÎļþϵͳÔÚÄں˿ռäºÍÓû§¿Õ¼äÖ®¼ä´ò¿ªÁËÒ»¸öͨÐÅ´°¿Ú
ÎĵµÑ¡Ïî
´òÓ¡±¾Ò³
½«´ËÒ³×÷Ϊµç×ÓÓʼþ·¢ËÍ
ÑùÀý´úÂë
¼¶±ð£º ³õ¼¶
M. Tim Jones (mtj@mtjones.com), ×ÊÉîÊ×ϯÈí¼þ¹¤³Ìʦ, Emulex
2006 Äê 4 ÔÂ 24 ÈÕ
/proc ÎļþϵͳÊÇÒ»¸öÐéÄâÎļþϵͳ£¬Í¨¹ýËü¿ÉÒÔʹÓÃÒ»ÖÖÐµķ½·¨ÔÚ Linux® Äں˿ռäºÍÓà ......