LINUXÆÚÄ©¸´Ï° ½ø³ÌÓë½ø³Ì¹ÜÀí
Ò»¡¢LINUXµÄ½ø³Ì״̬ ½©ËÀ̬£ºµ±¸¸½ø³Ì»¹Ã»ÓнáÊøÇ°£¬×Ó½ø³Ì¾ÍÒѾÏȽáÊøÁË£¬Õâʱ×Ó½ø³ÌµÄ×ÊԴûÓÐÈËÀ´»ØÊÕ¡£Í¨³£¸¸½ø³ÌÐèÒªÓÃwaitÀ´µÈ´ý×Ó½ø³ÌµÄ½áÊø¡£
½ø³ÌµÄģʽ£ºÓû§Ä£Ê½(Ö´ÐÐÓû§³ÌÐò)£¬ÄÚºËģʽ(Ö´ÐвÙ×÷ϵͳ´úÂë)
½ø³ÌµÄÀàÐÍ£ºÏµÍ³½ø³Ì£¬Óû§½ø³Ì ¶þ¡¢½ø³Ì¹ÜÀí ¢Ùforkº¯Êý
¹¦ÄÜ£º´´½¨Ò»¸öȫеĽø³Ì¡£
Í·Îļþ£º
#include
#include
º¯ÊýÔÐÍ£ºpid_t wait (int * status);
˵Ã÷£ºÕâ¸öϵͳµ÷ÓöԵ±Ç°½ø³Ì½øÐи´ÖÆ£¬ÔÚ½ø³Ì±íÀï´´½¨³öÒ»¸öÏîÄ¿£¬Ð½ø³ÌÓëÔ½ø³Ì¼¸ºõÒ»Ñù£¬Ö´ÐеÄÊÇÏàͬµÄ´úÂ룬ֻÊÇнø³ÌÓÐ×Ô¼ºµÄÊý¾Ý¿Õ¼ä¡¢»·¾³ºÍÎļþÃèÊö·û¡£
·µ»ØÖµ£º¸¸½ø³Ìµ÷Ó÷µ»ØÐÂ×Ó½ø³ÌID£¬Ð½ø³Ì¼ÌÐøÖ´ÐУ»ÔÚ×Ó½ø³Ì·µ»Ø0¡£
¾ÙÀý£º
pid_t new_pid;
new_pid = fork();
switch(new_pid)
{
case -1:break;
case 0:break
default:break;
} ¢Úwaitº¯Êý
º¯Êý´¦ÀíµÄ»ù±¾¹ý³Ì£º
—Èç¹û¸¸½ø³ÌûÓÐ×Ó½ø³Ì£¬Ôò³ö´í·µ»Ø¡£
—Èç¹û·¢ÏÖÓÐÒ»¸öÖÕÖ¹µÄ×Ó½ø³Ì£¬ÔòÈ¡³ö×Ó½ø³ÌµÄ½ø³ÌºÅ£¬°Ñ×Ó½ø³ÌµÄCPUʹÓÃʱ¼äµÈ¼Óµ½¸¸½ø³ÌÉÏ£¬ÊÍ·Å×Ó½ø³ÌÕ¼ÓõÄtask_structºÍϵͳ¿Õ¼ä¶ÑÕ»£¬ÒÔ¹©Ð½ø³ÌʹÓá£
—Èç¹û·¢ÏÖÓÐ×Ó½ø³Ì£¬µ«¶¼²»´¦ÓÚÖÕֹ̬£¬Ôò¸¸½ø³Ì˯Ãߣ¬µÈ´ýÓÉÏàÓ¦µÄÐźŻ½ÐÑ¡£
¹¦ÄÜ£ºµÈ´ý×Ó½ø³ÌÖжϻò½áÊø
Í·Îļþ:
#include
#include
º¯ÊýÔÐÍ:pid_t wait (int * status);
˵Ã÷£ºº¯Êý»áÔÝʱֹͣĿǰ½ø³ÌµÄÖ´ÐУ¬Ö±µ½ÓÐÐźÅÀ´µ½»ò×Ó½ø³Ì½áÊø¡£Èç¹ûÔÚµ÷ÓÃwait()ʱ×Ó½ø³ÌÒѾ½áÊø£¬Ôòwait()»áÁ¢¼´·µ»Ø×Ó½ø³Ì½áÊø×´Ì¬Öµ¡£×Ó½ø³ÌµÄ½áÊø×´Ì¬Öµ»áÓɲÎÊýstatus ·µ»Ø£¬¶ø×Ó½ø³ÌµÄ½ø³Ìʶ±ðÂëÒ²»áͬʱ·µ»Ø¡£Èç¹û²»ÔÚÒâ½áÊø×´Ì¬Öµ£¬Ôò²ÎÊýstatus¿ÉÒÔÉè³ÉNULL¡£×Ó½ø³ÌµÄ½áÊø×´Ì¬ÖµÇë²Î¿¼waitpid()¡£
·µ»ØÖµ£ºÈç¹ûÖ´Ðгɹ¦Ôò·µ»Ø×Ó½ø³Ìʶ±ðÂë(PID)£¬Èç¹ûÓдíÎó·¢ÉúÔò·µ»Ø-1¡£Ê§°ÜÔÒò´æÓÚerrnoÖС£
¾ÙÀý£º
¢Ûexeclº¯Êý
Í·Îļþ£º#include
º¯ÊýÔÐÍ£º
int execl(const char * path,const char * arg,....);
·µ»ØÖµ£º³É¹¦Ôòº¯Êý²»»á·µ»Ø£¬Ö´ÐÐʧ°ÜÔòÖ±½Ó·µ»Ø-1£¬Ê§°ÜÔÒò´æÓÚerrnoÖС£
˵Ã÷£º
execl()ÓÃÀ´Ö´ÐвÎÊýpath×Ö·û´®Ëù´ú±íµÄÎļþ·¾¶£¬²ÎÊý´ú±íÖ´ÐиÃÎļþʱ´«µÝ¹ýÈ¥µÄargv(0)¡¢argv[1]¡¡£¬×îºóÒ»¸ö²ÎÊý±ØÐëÓÿÕ
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
¹ØÓÚϵͳµ÷ÓýٳÖ
Èç¹ûÒ»¸öľÂíÒªÒþ²ØÆðÀ´£¬²»±»ÏµÍ³¹ÜÀíÔ±·¢ÏÖ¡£½Ø»ñϵͳµ÷ÓÃËÆºõÊDZØÐëµÄ¡£´ó²¿·ÖÇé¿öÏ£¬Í¨¹ýÐÞ¸Äϵͳµ÷ÓñíÀ´ÊµÏÖϵͳµ÷ÓõĽٳ֡£ÏÂÃæÊÇÒ»¸öµäÐ͵Ľػñϵͳµ÷ÓõÄÄ£¿é£º
Ä£¿éÒ»£º
#include
#include
#include
#include
#include
#include
#include
#include
#include
MODULE_LICE ......
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 ......
Ò»¡¢LINUXÎļþ½á¹¹ ¢ÙÎļþ
Ϊ²Ù×÷ϵͳ·þÎñ¡¢É豸·ÃÎÊÌṩÁ˼òµ¥¶øÍ³Ò»µÄ½Ó¿Ú¡£ÎļþÊý¾Ý½á¹¹°üÀ¨ÎļþÃû×Ö¡¢´´½¨ÈÕÆÚ¡¢·ÃÎÊȨ¡¢Îļþ³¤¶ÈµÈ£¬ÕâЩÊý¾Ý¶¼±£´æÔÚÎÒÃdzÆÖ®Îª ½Úµã ÖС£
¢ÚÉ豸
Ó²¼þÔÚLINUX/UNIXÖÐͨ³£ÊDZ»Ó³Éä³ÉÎļþµÄ£¬ÕâÔÚǶÈëʽµ±ÖÐÊÇÊ®·ÖÖØÒªµÄ¡£
¼¸¸öÖØÒªµÄÉè± ......
ѧϰLinux¶à½ø³Ì±à³Ì
Ò»¡¢½ø³ÌµÄ¶¨Ò壺³ÌÐòÖ´ÐкÍ×ÊÔ´¹ÜÀíµÄ×îСµ¥Î»¡£
¶þ¡¢½ø³Ì¿ØÖÆ£º
£¨1£©½ø³Ì±êʶ£º ½ø³Ì±êʶ ×Ó½ø³ÌºÅ ¸¸½ø³ÌºÅ
Í·Îļþ #include<unistd.h> #include<unistd.h>
º¯Êý¹¦ÄÜ È¡µÃµ±Ç°½ø³ÌµÄ½ø³ÌºÅ È¡µÃµ±Ç°½ø³ÌµÄ¸¸½ø³ÌºÅ
º¯ ......