Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

LinuxÄں˱àÂëʰ½õ

1.Ò»ÖÖ¶¨Ò庯ÊýÖ¸ÕëµÄ·½·¨
<linux/proc_fs.h>
typedef int (read_proc_t)(char *page, char **start, off_t offset, int count, int *eof, void *data);
read_proc_t *proc_read;
    ÕâÖÖ¶¨Òå·½·¨ÓÐÒ»¸öÓÅÊÆ¾ÍÊÇ£¬¼´Ê¹ÄãûÓп´µ½read_proc_tµÄ¶¨Ò壬ҲÄܹ»Çå³þµÄÖªµÀproc_readÊÇÒ»¸öÖ¸Õ룬ÈçÏÂÃæ2ÖеĵÄcreate_proc_read_entryÖеIJÎÊýÖÐÏÔʾµÄÄÇÑù¡£ÁíÒ»ÖÖ³£Ó÷½·¨ÊÇ£º
typedef int (*read_proc_t)(....);¶¨Ò庯ÊýÖ¸Õë¡£
read_proc_t p;
    µ«ÊÇÕâÖÖ·½·¨Ã»ÓÐÉÏÃæÄÇÖֿɶÁÐԺã¬ÒòΪ²»ÄÜÒ»Ñ۾Ϳ´³öpÊÇÒ»¸öº¯ÊýÖ¸Õë¡£
2.Ò»ÖÖ¶¨ÒåºêµÄ·½·¨
<linux/proc_fs.h>
static inline struct proc_dir_entry *create_proc_read_entry(const char *name, mode_t mode,
    struct proc_dir_entry *base, read_proc_t *read_proc, void *data);
inline¹Ø¼ü×ÖÊÇGNU CÀ©Õ¹µÄ£¬×¨ÃÅΪÉè¼ÆÄں˶øÀ©Õ¹µÄ£¬ËüÄܹ»½«º¯Êý±àÒë³Éºê£¬Èç¹ûËüÊǺ¯Êý£¬ÄÇôÓÉÓÚÓÐstatic¹Ø¼ü×ÖÐÞÊΣ¬ÏÔÈ»Äã²»ÄÜÔÚ±¾ÎļþÖ®ÍⶨÒ弰ʹÓÃËü¡£
3.ö¾Ù±äÁ¿µÄÊýÁ¿
<linux/interrupt.h>
enum{
    HI_SOFTIRQ,
  &n ......

Linux x86 run time process manipulation

[------------------------------------------------------------------------]
[-- Uninformed Research -- informative information for the uninformed. --]
[------------------------------------------------------------------------]
[-- Genre : Development --]
[-- Name : needle --]
[-- Desc : Linux x86 run-time process manipulation --]
[-- Url : http://www.uninformed.org/ --]
[-- Use : EVILNESS --]
[------------------------------------------------------------------------]
[-- Author : skape (mmiller@hick.org) --]
[-- Date : 01/19/2003 --]
[------------------------------------------------------------------------]
[-- Table of contents: ......

LinuxÖеÄÄÚ´æ·ÖÅäºÍÊÍ·ÅÖ®__free_pages()º¯Êý·ÖÎö

  ¼ÇµÃÎÒÃÇÔÚÉÏÆªÎÄÕÂmem_init()·ÖÎöÖÐÌáµ½__free_page()º¯ÊýÂð£¿ÎÒÃÇÏÖÔÚÀ´ÍêÉÆËü¡£ËüµÄµ÷Óùý³ÌÊÇÕâÑùµÄ£ºmem_init()->free_all_bootmem_node():ÎÒÃÇÖªµÀÕâ¸öº¯ÊýÊÇͳ¼ÆÒ»¹²ÊÍ·ÅÁ˶àÉÙ¿ÕÏÐÒ³¡£->free_all_bootmem_core()¾ÍÊÇÔÚÕâ¸öº¯ÊýÀïÃæÏȺó¶à´Îµ÷ÓÃ__free_pages()º¯Êý¡£Ä¿µÄ¾ÍÊÇΪÁËÊÍ·Åÿ¸öÄÚ´ænodeÀïÃæÎÞÓõÄÄÚ´æ¿×¶´Ò³¡£ÎÒÃÇÏÖÔÚ¾ÍÀ´ºÃºÃ̽ÌÖÕâ¸öº¯Êý¡£
  fastcall void __free_pages(struct page *page, unsigned int order)
{
   if (!PageReserved(page) && put_page_testzero(page)) {
       if (order == 0)
          free_hot_page(page);//ÎÒÃÇÏÈÀ´¿´¿´Õâ¸öº¯Êý¡£
   else
      __free_pages_ok(page, order);//ÎÒÃÇ×îºó²ÅÀ´ÌÖÂÛÕâ¸öº¯Êý¡£
   }
}
 
  void fastcall free_hot_page(struct page *page)
{
   free_hot_cold_page(page, 0);
}
  static void fastcall free_hot_cold_page(struct page *page, int cold)//Èç¹ûcoldÊÇ0µÄ»°£¬±íʾҪ°Ñ ......

LinuxÅäÖÃApache·þÎñÆ÷È«¹¥ÂÔ

  LinuxÅäÖÃApache·þÎñÆ÷È«¹¥ÂÔ ÊÕ²Ø
Ò»£¬Ê¹ÓÃÔ´´úÂë°²×°
¡¡¡¡(1) »ñµÃÔ´´úÂë
¡¡¡¡# lynx http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz
¡¡¡¡NN±íʾµ±Ç°ËùÓõİ汾ºÅ¡£
¡¡¡¡(2) ½âѹËõ
¡¡¡¡# gzip -d httpd-2_0_NN.tar.gz
¡¡¡¡# tar xvf httpd-2_0_NN.tar¡¡
¡¡¡¡(3) ÅäÖÃ.
¡¡¡¡# ./configure --prefix= /usr/local/apache --enable-so
¡¡¡¡±íʾApache½«°²×°ÔÚ/usr/local/apacheĿ¼ÏÂ
¡¡¡¡(4) ±àÒëÓë°²×°
¡¡¡¡# make
¡¡¡¡# make install
¡¡¡¡(5) ²âÊÔ
¡¡¡¡# /usr/local/apache/bin/apachectl start
¡¡¡¡¶þ£¬Ê¹ÓÃRPM°ü°²×°
¡¡¡¡# rpm —ivh apache-*.rpm
¡¡¡¡Íê³É°²×°ºó£¬ÅäÖÃÎļþÔÚ/etc/httpd/conf/Ŀ¼Ï£¬Îļþ¸ùĿ¼Ϊ/var/www/html,¹¤¾ßÎļþÔÚ/etc/rc.d/init.d/Ŀ¼Ï£¬ÈÕÖ¾ÎļþÔÚ/var/log/httpd/Ŀ¼Ï¡£
¡¡¡¡µÚÈýÕ¾ Apache 2.0µÄÅäÖÃ
¡¡¡¡Apache 2.0µÄÖ÷ÅäÖÃÎļþΪhttpd.conf¡£Èç¹ûÒÔÉÏÊöÔ´´úÂë°²×°ÔòÅäÖÃÎļþ±£´æÔÚ/usr/local/apache/conf/Ŀ¼Ï£¬ÈôÒÔRPM°ü·½Ê½°²×°ÔòÅäÖÃÎļþ±£´æÔÚ/etc/httpd/conf/Ŀ¼Ï¡£ÎÒÃÇ¿ÉÒÔÖ±½ÓÐÞ¸Ähttpd.confÎļþÒ²¿ÉÒÔÓÃredhat linux 9×Ô´øµÄͼÐλ¯¹¤¾ßÀ´ÅäÖᣴò¿ªÆô¶¯³ÌÐò->ϵͳÉèÖÃ->·þÎ ......

Linux¿ìËÙ¹¹½¨apache web·þÎñÆ÷

¡¡apache·þÎñÆ÷µÄ×îÐÂÎȶ¨·¢²¼°æ±¾ÊÇhttpd-2.2..0,¹Ù·½ÏÂÔØµØÖ·ÊÇ£ºhttp://httpd.apache.org/download.cgi¡£ÎÒÃÇͨ¹ýÏÂÃæµÄ²½ÖèÀ´¿ìËٵĴһ¸öweb·þÎñÆ÷¡£
¡¡¡¡1¡¢ ÏÂÔØÔ´ÂëÎļþhttpd-2.2.0.tar.gz µ½linux·þÎñÆ÷µÄij¸öĿ¼¡£
¡¡¡¡2¡¢ ½âѹÎļþ # tar zxvf httpd-2.2.0.tar.gz .
¡¡¡¡3¡¢ ÅäÖà # ./c ╟refix=/usr/local/apache //Ö¸¶¨°²×°Ä¿Â¼£¬ÒÔºóҪɾ³ý°²×°¾ÍÖ»Ðèɾ³ýÕâ¸öĿ¼¡£
¡¡¡¡4¡¢ ±àÒëºÍ°²×°¡£ # make ; make install .
¡¡¡¡5¡¢ ±àдÆô¶¯½Å±¾£¬°ÑËü·Åµ½Ä¿Â¼ /etc/rc.d/init.d/ÀÕâÀïÈ¡ÃûΪhttpd,ÆäÄÚÈÝÈçÏ£º
¡¡¡¡#!/bin/bash
¡¡¡¡#descripti server
¡¡¡¡#chkc 235 98 98
¡¡¡¡case "$1" in
¡¡¡¡start)
¡¡¡¡echo "starting apache daemon..."
¡¡¡¡/usr/local/apache2/bin/apachectl -k start
¡¡¡¡;;
¡¡¡¡stop)
¡¡¡¡echo "stopping apache daemon..."
¡¡¡¡/usr/local/apache2/bin/apachectl -k stop
¡¡¡¡;;
¡¡¡¡restart)
¡¡¡¡echo "restarting apache daemon..."
¡¡¡¡/usr/local/apache2/bin/apachectl -k restart
¡¡¡¡;;
¡¡¡¡status)
¡¡¡¡statusproc /usr/local/apache2/bin/httpd
¡¡¡¡;;
¡¡¡¡*)
¡¡¡¡echo "usage: $0 {start|sto ......

Javaµ÷ÓÃLinuxÃüÁî

Java¿ÉÒÔÖ±½Óµ÷ÓÃLinuxÃüÁÐÎʽÈçÏ£º
 Runtime.getRuntime().exec(command)
 ¾ÙÀý£ºÔËÐÐls,topÃüÁî¿ÉÒÔÕâÑù£º
 Runtime.getRuntime().exec("ls");
 µ«ÊÇÕâÑùÖ´ÐÐʱûÓÐÈκÎÊä³ö£¬Ô­Òò£º 
 µ÷ÓÃRuntime.exec·½·¨½«²úÉúÒ»¸ö±¾µØµÄ½ø³Ì,²¢·µ»ØÒ»¸öProcess×ÓÀàµÄʵÀý£¬
£¨×¢Ò⣺Runtime.getRuntime().exec£¨command£©·µ»ØµÄÊÇÒ»¸öProcessÀàµÄʵÀý£©,
¸ÃʵÀý¿ÉÓÃÓÚ¿ØÖƽø³Ì»òÈ¡µÃ½ø³ÌµÄÏà¹ØÐÅÏ¢. ÓÉÓÚµ÷ÓÃRuntime.exec·½·¨Ëù´´½¨µÄ×Ó½ø³ÌûÓÐ×Ô¼ºµÄÖÕ¶Ë»ò¿ØÖÆÌ¨,Òò´Ë¸Ã×Ó½ø³ÌµÄ±ê×¼IO(Èçstdin,stdou,stderr)¶¼Í¨¹ýProcess.getOutputStream(),Process.getInputStream(), Process.getErrorStream()·½·¨Öض¨Ïò¸øËüµÄ¸¸½ø³ÌÁË.Óû§ÐèÒªÓÃÕâЩstreamÀ´Ïò×Ó½ø³ÌÊäÈëÊý¾Ý»ò»ñÈ¡×Ó½ø³ÌµÄÊä³ö. ¿ÉÒÔ²ÉÓÃÈçÏ·½·¨£º
public static void main(String[] agrs){
try
{
 Process process = Runtime.getRuntime().exec ("ls"); 
 InputStreamReader ir=newInputStreamReader(process.getInputStream());
 LineNumberReader input = new LineNumberReader (ir);
 String line;
 while ((line = input.readLine () ......

Javaµ÷ÓÃLinuxÃüÁî

Java¿ÉÒÔÖ±½Óµ÷ÓÃLinuxÃüÁÐÎʽÈçÏ£º
 Runtime.getRuntime().exec(command)
 ¾ÙÀý£ºÔËÐÐls,topÃüÁî¿ÉÒÔÕâÑù£º
 Runtime.getRuntime().exec("ls");
 µ«ÊÇÕâÑùÖ´ÐÐʱûÓÐÈκÎÊä³ö£¬Ô­Òò£º 
 µ÷ÓÃRuntime.exec·½·¨½«²úÉúÒ»¸ö±¾µØµÄ½ø³Ì,²¢·µ»ØÒ»¸öProcess×ÓÀàµÄʵÀý£¬
£¨×¢Ò⣺Runtime.getRuntime().exec£¨command£©·µ»ØµÄÊÇÒ»¸öProcessÀàµÄʵÀý£©,
¸ÃʵÀý¿ÉÓÃÓÚ¿ØÖƽø³Ì»òÈ¡µÃ½ø³ÌµÄÏà¹ØÐÅÏ¢. ÓÉÓÚµ÷ÓÃRuntime.exec·½·¨Ëù´´½¨µÄ×Ó½ø³ÌûÓÐ×Ô¼ºµÄÖÕ¶Ë»ò¿ØÖÆÌ¨,Òò´Ë¸Ã×Ó½ø³ÌµÄ±ê×¼IO(Èçstdin,stdou,stderr)¶¼Í¨¹ýProcess.getOutputStream(),Process.getInputStream(), Process.getErrorStream()·½·¨Öض¨Ïò¸øËüµÄ¸¸½ø³ÌÁË.Óû§ÐèÒªÓÃÕâЩstreamÀ´Ïò×Ó½ø³ÌÊäÈëÊý¾Ý»ò»ñÈ¡×Ó½ø³ÌµÄÊä³ö. ¿ÉÒÔ²ÉÓÃÈçÏ·½·¨£º
public static void main(String[] agrs){
try
{
 Process process = Runtime.getRuntime().exec ("ls"); 
 InputStreamReader ir=newInputStreamReader(process.getInputStream());
 LineNumberReader input = new LineNumberReader (ir);
 String line;
 while ((line = input.readLine () ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [343] [344] [345] [346] 347 [348] [349] [350] [351] [352]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ