LinuxÏÂÊØ»¤½ø³ÌµÄ´´½¨Àý×Ó
#include <stdio.h>
#include <signal.h>
#include <ctype.h>
#include <fcntl.h>
int g_count;
void Exit()
{
printf("I will exit, press any key to continue...(g_count = %d)\n", g_count);
exit(0);
}
int main(int argc, char* argv[])
{
struct sigaction almact;
pid_t pid;
// ´´½¨ÊØ»¤½ø³Ì£¬ÈóÌÐòÔÚºǫ́ÔËÐÐ
// fork£¬ÖÕÖ¹¸¸½ø³Ì
if (pid = fork())
exit(0);
// µÚÒ»×Ó½ø³Ì
setsid();
signal(SIGHUP, SIG_IGN);
// fork, ÖÕÖ¹µÚÒ»×Ó½ø³Ì
if (pid = fork())
exit(0);
// Çå³ýÎļþÑÚÂë
umask(0);
signal(SIGTERM, Exit); // killɱµô½ø³Ìʱºò³ÌÐòĬÈÏÖ´Ðк¯ÊýExit
while (1)
{
sleep(1);
g_count ++;
}
}
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍ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 ......
linuxÖеĶλúÖÆ£º
ÔÚlinuxÖУ¬Âß¼µØÖ·µ½ÎïÀíµØÖ·£¬ÊǾ¹ý·Ö¶Îµ¥Ôª£>·ÖÒ³µ¥ÔªÕâÁ½¸ö²¿·ÖµÄת»»À´Íê³ÉµÄ¡£ÆäÖÐÂß¼µØÖ·Óɶαêʶ·ûºÍÖ¸¶¨¶ÎÄÚÏà¶ÔµØÖ·µÄÆ«ÒÆÁ¿¡£Ç°Õß16볤µÄ×ֶΣ¨¶ÎÑ¡Ôñ·ûsegment selector£©,ºóÕßÊÇ32볤µÄ×ֶΡ£
¶ÎÑ¡Ôñ·ûµÄ¹¹³É:
15-3(index)Ö¸¶¨ÁË·ÅÔÚGDT»òÕßLDTÖеÄÏàÓ¦¶ÎÃèÊö·ûµÄÈë¿Ú
2£¨TL£ ......
Ä£¿éÊÇLINUXÌØÓеÄÒ»ÖÖ»úÖÆ£¬¿ÉÒÔ¶¯Ì¬µÄÔö¼ÓÄں˵ŦÄÜ
¿ÉÒÔ×÷Ϊ¶ÀÁ¢³ÌÐòÀ´±àÒ룬µ«¿ÉÒÔËæʱ±»Á´½Óµ½ÄÚºËÖУ¬³ÉΪÄں˵ÄÒ»²¿·Ö£¨INSMOD ./[Ä£¿éÃû].ko£©,Ò²¿ÉÒÔ±»Ð¶ÔØ£¨RMMOD ./[Ä£¿éÃû].ko£©£¬Ä£¿é¼òµ¥Áé»î£¬Ïà±Èϵͳµ÷Ó㬱ÜÃâÁ˱àÒëºÍÆô¶¯Äں˵ÄÂé·³£¬È´Ò»Ñù¿ÉÒÔÔÙºÍÐÄ̬¹¤×÷¡£
ÏÂÃæдд¸öÀý×Ó
Áгöij½ø³Ì¼Ò×åµÄÐÅÏ¢£ ......
/*
*By Neil Chiao (neilchiao at gmail.com)
*תÔØÇë×¢Ã÷³ö´¦£ºneilengineer.cublog.cn
*±¾ÎIJ¿·ÖÄÚÈÝÀ´×ÔÍøÂç
*»¶Óµ½“ÐÂÐÇÍå(www.xinxingwan.com)”Ö¸µ¼
*/
1¡¢LinuxÍøÂçÉ豸Çý¶¯µÄÌåϵ½á¹¹
LinuxÍøÂçÇý¶¯³ÌÐòµÄÌåϵ½á¹¹¿É»®·ÖΪ4¸ö²ã´Î¡£LinuxÄÚºËÔ´´úÂëÖÐÌṩÁËÍøÂçÉ豸½Ó¿Ú¼°ÒÔÉϲã´ÎµÄ´ ......
"procÎļþϵͳÊÇÒ»¸öαÎļþϵͳ£¬ËüÖ»´æÔÚÄÚ´æµ±ÖУ¬¶ø²»Õ¼ÓÃÍâ´æ¿Õ¼ä¡£ËüÒÔÎļþϵͳµÄ·½Ê½Îª·ÃÎÊϵͳÄÚºËÊý¾ÝµÄ²Ù×÷Ìṩ½Ó¿Ú¡£Óû§ºÍÓ¦ÓóÌÐò¿ÉÒÔͨ¹ýprocµÃµ½ÏµÍ³µÄÐÅÏ¢£¬²¢¿ÉÒԸıäÄں˵ÄijЩ²ÎÊý¡£"
ÕâÀォ½éÉÜÈçºÎ´Ó/procÎļþϵͳÖлñÈ¡Óë·À»ðǽÏà¹ØµÄһЩÐÔÄܲÎÊý£¬ÒÔ¼°ÈçºÎͨ¹ý/procÎļþϵͳÐÞ¸ ......