linux systemº¯ÊýʹÓÃÏê½â
Ïà¹Øº¯Êý
fork£¬execve£¬waitpid£¬popen
±íÍ·Îļþ
££i nclude<stdlib.h>
¶¨Ò庯Êý
int system(const char * string);
º¯Êý˵Ã÷
system()»áµ÷ÓÃfork()²úÉú×Ó½ø³Ì£¬ÓÉ×Ó½ø³ÌÀ´µ÷ÓÃ/bin/sh-c stringÀ´Ö´ÐвÎÊýstring×Ö·û´®Ëù´ú±íµÄÃüÁ´ËÃü>ÁîÖ´ÐÐÍêºóËæ¼´·µ»ØÔµ÷ÓõĽø³Ì¡£ÔÚµ÷ÓÃsystem()ÆÚ¼äSIGCHLD ÐźŻᱻÔÝʱ¸éÖã¬SIGINTºÍSIGQUIT ÐźÅÔò»á±»ºöÂÔ¡£
·µ»ØÖµ
=-1:³öÏÖ´íÎó
=0:µ÷Óóɹ¦µ«ÊÇûÓгöÏÖ×Ó½ø³Ì
>0:³É¹¦Í˳öµÄ×Ó½ø³ÌµÄid
Èç¹ûsystem()ÔÚµ÷ÓÃ/bin/shʱʧ°ÜÔò·µ»Ø127£¬ÆäËûʧ°ÜÔÒò·µ»Ø-1¡£Èô²ÎÊýstringΪ¿ÕÖ¸Õë(NULL)£¬Ôò·µ»Ø·ÇÁãÖµ>¡£ Èç¹ûsystem()µ÷Óóɹ¦Ôò×îºó»á·µ»ØÖ´ÐÐshellÃüÁîºóµÄ·µ»ØÖµ£¬µ«ÊÇ´Ë·µ»ØÖµÒ²ÓпÉÄÜΪ system()µ÷ÓÃ/bin/shʧ°ÜËù·µ»ØµÄ127£¬Òò´Ë×îºÃÄÜÔÙ¼ì²éerrno À´È·ÈÏÖ´Ðгɹ¦¡£
¸½¼Ó˵Ã÷
ÔÚ±àд¾ßÓÐSUID/SGIDȨÏ޵ijÌÐòʱÇëÎðʹÓÃsystem()£¬system()»á¼Ì³Ð»·¾³±äÁ¿£¬Í¨¹ý»·¾³±äÁ¿¿ÉÄÜ»áÔì³Éϵͳ°²È«µÄÎÊÌâ¡£
·¶Àý
££i nclude<stdlib.h>
main()
{
system(“ls -al /etc/passwd /etc/shadow”);
}
Ö´Ðнá¹û£º
-rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd
-r--------- 1 root root 572 Sep 2 15 :34 /etc/shado
Àý2£º
char tmp[];
sprintf(tmp,"/bin/mount -t vfat %s /mnt/usb",dev);
system(tmp);
ÆäÖÐdevÊÇ/dev/sda1¡£
systemÔ´Âë
#include
#include
#include
#include
int system(const char * cmdstring)
{
pid_t pid;
int status;
if(cmdstring == NULL){
return (1);
}
if((pid = fork())<0){
status = -1;
}
else if(pid == 0){
execl("/bin/sh", "sh", "-c", cmdstring, (char *)0);
-exit(127); //×Ó½ø³ÌÕý³£Ö´ÐÐÔò²»»áÖ´ÐдËÓï¾ä
}
else{
while(waitpid(pid, &status, 0) < 0){
&nbs
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
²é¿´linuxÎļþĿ¼µÄ´óСºÍÎļþ¼Ð°üº¬µÄÎļþÊý
ͳ¼Æ×ÜÊý´óС
du -sh xmldb/
du -sm * | sort -n //ͳ¼Æµ±Ç°Ä¿Â¼´óС ²¢°²´óС ÅÅÐò
du -sk * | sort -n
du -sk * | grep guojf //¿´Ò»¸öÈ˵ĴóС
du -m | cut -d "/" -f 2 //¿´µÚ¶þ¸ö/ ×Ö·ûǰµÄÎÄ×Ö
²é¿´´ËÎļþ¼ÐÓжàÉÙÎļþ /*/*/* ÓжàÉÙÎļþ
du xmldb/
du xmldb/ ......
ÔÎĵØÖ·£ºhttp://www.gz-benet.com.cn/bbs/Show.Asp?ID=4268
“Sudo”
ÊÇUnix/Linuxƽ̨ÉϵÄÒ»¸ö·Ç³£ÓÐÓõŤ¾ß£¬ËüÔÊÐíϵͳ¹ÜÀíÔ±·ÖÅ䏸ÆÕͨÓû§Ò»Ð©ºÏÀíµÄ“ȨÀû”£¬ÈÃËûÃÇÖ´ÐÐһЩֻÓг¬¼¶Óû§»òÆäËûÌØÐíÓû§²ÅÄÜ
Íê³ÉµÄÈÎÎñ£¬±ÈÈ磺ÔËÐÐһЩÏñmount£¬halt£¬suÖ®ÀàµÄÃüÁ»òÕß±à¼Ò»Ð©ÏµÍ³ÅäÖà ......