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

ѧϰlinux¶àÏ̱߳à³Ì Ïà¹Ø¸ÅÄî

ѧϰLinux¶à½ø³Ì±à³Ì
Ò»¡¢½ø³ÌµÄ¶¨Ò壺³ÌÐòÖ´ÐкÍ×ÊÔ´¹ÜÀíµÄ×îСµ¥Î»¡£
¶þ¡¢½ø³Ì¿ØÖÆ£º
£¨1£©½ø³Ì±êʶ£º ½ø³Ì±êʶ  ×Ó½ø³ÌºÅ  ¸¸½ø³ÌºÅ
 Í·Îļþ  #include<unistd.h>  #include<unistd.h>
 º¯Êý¹¦ÄÜ  È¡µÃµ±Ç°½ø³ÌµÄ½ø³ÌºÅ  È¡µÃµ±Ç°½ø³ÌµÄ¸¸½ø³ÌºÅ
 º¯ÊýÔ­ÐÍ  Pid_t getpid(void) Pid_t getppid(void) 
 º¯Êý·µ»ØÖµ  ³É¹¦·µ»Ø½ø³ÌµÄ½ø³Ì±êʶ·û   ³É¹¦·µ»Ø¸¸½ø³ÌµÄ½ø³Ì±êʶ·û
×¢£ºPid_tÆäʵÊÇÒ»¸ötypedefÀàÐÍ£¬Ï൱ÓÚunsigned int.
Àý£º
 #include<stdio.h>
#include<unistd.h>
int main()
{
   printf("ϵͳ·ÖÅäµÄ½ø³ÌºÅÊÇ£º%d\n",getpid());
   printf("ϵͳ·ÖÅäµÄ¸¸½ø³ÌºÅÊÇ£º%d\n",getppid());
   return 0;
}
 £¨2£©½ø³ÌµÄ´´½¨£º
    1)exec×庯Êý£º
 Í·Îļþ  #include<unistd.h>
Ô­ÐÍ
int execl(const chat *path,const char *args,...)
int execv(const char *path,char const *argv[])
int execle(const cahr *path,const char *arg,...,char *const envp[])
int execve(const char *path,char *const argv[],char *const envp[])
int execlp(const char *file,char *arg,...)
int execvp(const cahr *file,char *const argv[])
 
·µ»Ø  ·µ»Ø-1±íʾ³ö´í
ÓÉÓڱȽ϶࣬ÔÚ´ËÖ»¾ÙÀýexecveº¯Êý£º
#include<stdio.h>
#include<unistd>
int main()
{
   char *args[]={"/usr/bin/vim",NULL};
   printf("ϵͳ·ÖÅäµÄ½ø³ÌºÅÊÇ£º%d\n",getpid());
   if(execve("/usr/bin/vim",args,NULL)<0)
     perror("´´½¨½ø³Ì³ö´í£¡");
    return 0;
}
×¢:ÔÚÓÃexecveº¯Êý´´½¨Ð½ø³ÌµÄºó£¬»áÒÔеijÌÐòÈ¡´úÔ­À´µÄ½ø³Ì£¬È»ºóϵͳ»á´ÓеĽø³ÌÔËÐУ¬µ«ÊÇеĽø³ÌµÄPIDÖµ»áÓëÔ­À´½ø³ÌµÄPIDÖµÏàͬ.
2)system()º¯Êý
 Í·Îļþ  #include<stdlib.h>
 ¹¦ÄÜ  ÔÚ½ø³ÌÖпªÊ¼ÁíÒ»¸ö½ø³Ì
 Ô­ÐÍ  int system(const char *string)
 ´«ÈëÖµ  ϵͳ±äÁ¿
 ·µ»ØÖµ
 ³É¹¦Ôò·µ»ØÖ´ÐÐshellÃüÁîºóµÄ·µ»ØÖµ£¬µ÷ÓÃ/bin/shÊý°Ù·µ»Ø127£¬ÆäËû
ʧ°Ü·µ»Ø£­1£¬ÈýÊåstringΪ¿Õ·µ»Ø·ÇÁãÖµ
&nb


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

Linux 2.6.19.x Äں˱àÒëÅäÖÃÑ¡Ïî¼ò½é

°æÈ¨ÉùÃ÷
±¾ÎÄ×÷ÕßÊÇһλ×ÔÓÉÈí¼þ°®ºÃÕߣ¬ËùÒÔ±¾ÎÄËäÈ»²»ÊÇÈí¼þ£¬µ«ÊDZ¾×Å GPL µÄ¾«Éñ·¢²¼¡£ÈκÎÈ˶¼¿ÉÒÔ×ÔÓÉʹÓá¢×ªÔØ¡¢¸´ÖƺÍÔÙ·Ö·¢£¬µ«±ØÐë±£Áô×÷ÕßÊðÃû£¬Ò಻µÃ¶ÔÉùÃ÷ÖеÄÈκÎÌõ¿î×÷ÈκÎÐÎʽµÄÐ޸ģ¬Ò²²»µÃ¸½¼ÓÈÎºÎÆäËüÌõ¼þ¡£Äú¿ÉÒÔ×ÔÓÉÁ´½Ó¡¢ÏÂÔØ¡¢´«²¥´ËÎĵµ£¬µ«Ç°ÌáÊDZØÐ뱣֤ȫÎÄÍêÕû×ªÔØ£¬°üÀ¨ÍêÕûµÄ°æÈ¨ÐÅÏ¢ºÍ× ......

»ùÓÚARMµÄǶÈëʽlinux Äں˵IJüôÓëÒÆÖ²


0 ÒýÑÔ
   
΢´¦ÀíÆ÷µÄ²úÉúΪ¼Û¸ñµÍÁ®¡¢½á¹¹Ð¡ÇɵÄCPUºÍÍâÉèµÄÁ¬
½ÓÌṩÁËÎȶ¨¿É¿¿µÄÓ²¼þ¼Ü¹¹£¬ÕâÑù£¬ÏÞÖÆÇ¶Èëʽϵͳ·¢Õ¹µÄÆ¿¾±¾ÍÍ»³ö±íÏÖÔÚÁËÈí¼þ·½Ãæ¡£¾¡¹Ü´Ó°ËÊ®Äê´úÄ©¿ªÊ¼£¬ÒѾ­Â½Ðø³öÏÖÁËһЩǶÈëʽ²Ù×÷ϵͳ(±È½ÏÖø
ÃûµÄÓÐVxwork¡¢pSOS¡¢NeculeusºÍWindows
CE)¡£µ«ÕâЩרÓòÙ×÷ϵͳ¶¼ÊÇÉÌ ......

»ñÈ¡Linux 2.6.x sys_call_table


ÔÚlinuxÖÐËùÓеÄsyscall¶¼Êǵ÷ÓÃint 0x80, int 0x80µÄÖжϷþÎñ³ÌÐòΪsystem_call(arch/x86/kernel/traps_32.c:set_system_gate(SYSCALL_VECTOR,&system_call).  system_call (arch/x86/entry_32.S)×îÖÕcall *sys_call_table(,%eax,4)À´Íê³ÉÒ»¸ösyscallµ÷ÓÃ. 
¼´ int 0x80 -> system_call -> s ......

linuxÏÂbinÎļþ°²×°

At first you have to open a terminal/bash and then enter:
file /path/file.bin
for example file /home/user/file.bin (file is the command)
Now you should see a sentence including the word “executable” and not “non-executable, not executable,… or something completely differ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ