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

Ìí¼ÓLinuxϵͳµ÷ÓÃ

¡¾ÊµÑé»·¾³¡¿
Fedora£¬ÄÚºË2.6.21.6
¡¾ÊµÑé²½Öè¡¿
1. cd /usr/src/linux
2. vi kernel/sys.c
ÔÚ×îºóÌí¼ÓÈçÏ´úÂ룺
asmlinkage long sys_processinfo(void)
{
int num=0;
unsigned long state;
struct task_struct *p;
for_each_process(p)
{
printk("pid=%-5d,name=%-20s",p->tgid,p->comm);
printk("prio=%-5d,",p->prio);
state=p->state;
if(state==-1)
printk("state: Z\n");
else if (state==1)
printk("state: R\n");
else printk("state: S\n");
num++;
}
return num;
}
ÉÏÊö´úÂëʵÏÖ±éÀúÕû¸öÈÎÎñÁÐ±í£¬²¢½«½ø³Ìid£¬name ¼°state ´òÓ¡ÔÚÆÁÄ»ÉÏ£¬·µ»Ø½ø³Ì×Ü
7
Êý¡£
3. vi arch/i386/kernel/syscall_table.S
ÔÚ×îºó¼ÓÈë .long sys_processinfo
4. vi include/asm/unistd.h
ÔÚÖмäÌí¼Ó #define __NR_process 322 ·ÖÅäϵͳµ÷ÓúÅ
½«ÏÂÃæ¸ÄΪ #define NR_syscalls 323
5. vi /usr/include/asm/unistd.h
ÔÚ×îºóÌí¼Ó #define __NR_process 322
6. ¿ªÊ¼ÖØÐ±àÒëÄÚºË
cd /usr/src/linux
make mrproper
make menuconfig
make
make modules_install
make install
reboot
7. ½øÈëÐÂÄںˣ¬±àд²âÊÔ³ÌÐòtest.c
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <asm/unistd.h>
#include <syscall.h>
int main()
{
syscall(322);
printf("the total number is: %d",syscall(322));
return 0;
}
8. gcc –o test test.c
9. ./test ÏÔʾ½á¹û


Ïà¹ØÎĵµ£º

UNIX/LINUX ƽ̨¿ÉÖ´ÐÐÎļþ¸ñʽ·ÖÎö

±¾ÎÄÌÖÂÛÁË UNIX/LINUX ƽ̨ÏÂÈýÖÖÖ÷ÒªµÄ¿ÉÖ´ÐÐÎļþ¸ñʽ£ºa.out£¨assembler and link
editor output »ã±àÆ÷ºÍÁ´½Ó±à¼­Æ÷µÄÊä³ö£©¡¢COFF£¨Common Object File Format
ͨÓöÔÏóÎļþ¸ñʽ£©¡¢ELF£¨Executable and Linking Format
¿ÉÖ´ÐкÍÁ´½Ó¸ñʽ£©¡£Ê×ÏÈÊǶԿÉÖ´ÐÐÎļþ¸ñʽµÄÒ»¸ö×ÛÊö£¬²¢Í¨¹ýÃèÊö ELF
Îļþ¼ÓÔØ¹ý³ÌÒÔ½Òʾ ......

ÅäÖÃRedHat Linux 5 DNS½âÎö

1¡¢vi /etc/resolv.conf
Ôö¼ÓÒÔÏÂÄÚÈÝ£º
nameserver DNSserver_ip_address1
nameserver
DNSserver_ip_address2
ÈçÏ£º
[root@REDHATAS5 /]# cat /etc/resolv.conf
nameserver 192.168.88.1
2¡¢²âÊÔDNSÊÇ·ñÉúЧ
[root@Develop-Server ~]# nslookup www.baidu.com
Server:      &nb ......

LinuxÄں˵÷ÊÔ

 
LinuxÄں˵÷ÊÔ
 
1 printk
[1] ʹÓ÷¶Î§
³ýÔÚϵͳÆô¶¯¹ý³ÌÖÐ,ÖÕ¶Ëδ³õʼ»¯Ö®Ç°, ÆäËûÈκÎʱºò,Èκεط½¶¼¿ÉÒÔµ÷ÓÃËü.
[2] ¼Ç¼µÈ¼¶
    KERN_EMERG, KERN_ALERT, KERN_CRIT, KERN_ERR, KERN_WARNING, KERN_NOTICE, KERN_INFO, KERN_DEBUG.
    Èô²»Ö¸¶¨¼Ç¼µÈ¼¶,º¯Êý»áÑ ......

Linux ÔӼǣ¨¶þ£©

¼ÌÐø¡£¡£¡£
ÓôÃÆµÄÊÂÇé¼ÌÐø³öÏÖ£¬³öÏÖÉÏÃæµÄ´í£¬»¹²»ÖªµÀËùÒÔÈ»ÄØ£¬½øÈëÒ»¸öbusyboxµÄÖն˵ȴýÊäÈë״̬£¬¸Ï½ôgoogle£¬¿ÉÄÜÓоȡ£
Ï´β»¸ÒÂÒɾÄÚºË×é¼þÁË£¬·¢ÏÖ¶Ô×Ô¼ºÒªµÄÐèÇó²»Ã÷È·£¬½á¹û²úÉú»ìÂҵľÖÃæÁË¡£
¼ÌÐøÂÒŪ£¬helpÏ£¬³öÏÖÁËÐí¶à¿ÉÒÔ±»½âÎöµÄÃüÁ²»ÊÇÉÙĿ¼Âð£¬ÎÒmksirÏ£¬½á¹û²»ÐУ¬ºÃÏñÕâ¸ö״̬ÊÇÒ»¸ö/bin ......

ת£ºLinuxϽøÐÐMYSQLµÄC++±à³ÌÆð²½ÊÖ¼Ç


LinuxϽøÐÐMYSQLµÄC++±à³ÌÆð²½ÊÖ¼Ç
Ê×ÏȰ²×°±ØÐèµÄ¿ª·¢°ü
sudo apt-get install gcc g++ libgcc1 libg++ make gdb
°²×°MYSQLµÄCÓïÑÔ¿ª·¢°ü
sudo apt-get install libmysql++-dev libmysql++2c2a libmysqlclient15-dev libmysqlclient15off
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ