ʹÓà /proc ÎļþϵͳÀ´·ÃÎÊ Linux Äں˵ÄÄÚÈÝ
Õâ¸öÐéÄâÎļþϵͳÔÚÄں˿ռäºÍÓû§¿Õ¼äÖ®¼ä´ò¿ªÁËÒ»¸öͨÐÅ´°¿Ú
ÎĵµÑ¡Ïî
´òÓ¡±¾Ò³
½«´ËÒ³×÷Ϊµç×ÓÓʼþ·¢ËÍ
ÑùÀý´úÂë
¼¶±ð£º ³õ¼¶
M. Tim Jones (mtj@mtjones.com), ×ÊÉîÊ×ϯÈí¼þ¹¤³Ìʦ, Emulex
2006 Äê 4 ÔÂ 24 ÈÕ
/proc ÎļþϵͳÊÇÒ»¸öÐéÄâÎļþϵͳ£¬Í¨¹ýËü¿ÉÒÔʹÓÃÒ»ÖÖеķ½·¨ÔÚ Linux® Äں˿ռäºÍÓû§¿Õ¼äÖ®¼ä½øÐÐͨÐÅ¡£ÔÚ /proc ÎļþϵͳÖУ¬ÎÒÃÇ¿ÉÒÔ½«¶ÔÐéÄâÎļþµÄ¶Áд×÷ΪÓëÄÚºËÖÐʵÌå½øÐÐͨÐŵÄÒ»ÖÖÊֶΣ¬µ«ÊÇÓëÆÕͨÎļþ²»Í¬µÄÊÇ£¬ÕâЩÐéÄâÎļþµÄÄÚÈݶ¼ÊǶ¯Ì¬´´½¨µÄ¡£±¾ÎÄ¶Ô /proc ÐéÄâÎļþϵͳ½øÐÐÁ˽éÉÜ£¬²¢Õ¹Ê¾ÁËËüµÄÓ÷¨¡£
×î³õ¿ª·¢ /proc ÎļþϵͳÊÇΪÁËÌṩÓйØϵͳÖнø³ÌµÄÐÅÏ¢¡£µ«ÊÇÓÉÓÚÕâ¸öÎļþϵͳ·Ç³£ÓÐÓã¬Òò´ËÄÚºËÖеĺܶàÔªËØÒ²¿ªÊ¼Ê¹ÓÃËüÀ´±¨¸æÐÅÏ¢£¬»òÆôÓö¯Ì¬ÔËÐÐʱÅäÖá£
/proc Îļþϵͳ°üº¬ÁËһЩĿ¼£¨ÓÃ×÷×éÖ¯ÐÅÏ¢µÄ·½Ê½£©ºÍÐéÄâÎļþ¡£ÐéÄâÎļþ¿ÉÒÔÏòÓû§³ÊÏÖÄÚºËÖеÄһЩÐÅÏ¢£¬Ò²¿ÉÒÔÓÃ×÷Ò»ÖÖ´ÓÓû§¿Õ¼äÏòÄں˷¢ËÍÐÅÏ¢µÄÊֶΡ£Êµ¼ÊÉÏÎÒÃDz¢²»»áͬʱÐèҪʵÏÖÕâÁ½µã£¬µ«ÊDZ¾ÎĽ«ÏòÄúչʾÈçºÎÅäÖÃÕâ¸öÎļþϵͳ½øÐÐÊäÈëºÍÊä³ö¡£
¾¡¹ÜÏñ±¾ÎÄÕâÑù¶ÌСµÄһƪÎÄÕÂÎÞ·¨Ïêϸ½éÉÜ /proc µÄËùÓÐÓ÷¨£¬µ«ÊÇËüÒÀÈ»¶ÔÕâÁ½ÖÖÓ÷¨½øÐÐÁËչʾ£¬´Ó¶ø¿ÉÒÔÈÃÎÒÃÇÌå»áһϠ/proc ÊǶàôǿ´ó¡£Çåµ¥ 1 ÊÇ¶Ô /proc Öв¿·ÖÔªËؽøÐÐÒ»´Î½»»¥²éѯµÄ½á¹û¡£ËüÏÔʾµÄÊÇ /proc ÎļþϵͳµÄ¸ùĿ¼ÖеÄÄÚÈÝ¡£×¢Ò⣬ÔÚ×ó±ßÊÇһϵÁÐÊý×Ö±àºÅµÄÎļþ¡£Ã¿¸öʵ¼ÊÉ϶¼ÊÇÒ»¸öĿ¼£¬±íʾϵͳÖеÄÒ»¸ö½ø³Ì¡£ÓÉÓÚÔÚ GNU/Linux Öд´½¨µÄµÚÒ»¸ö½ø³ÌÊÇ init ½ø³Ì£¬Òò´ËËüµÄ process-id Ϊ 1¡£È»ºó¶ÔÕâ¸öĿ¼ִÐÐÒ»¸ö ls ÃüÁÕâ»áÏÔʾºÜ¶àÎļþ¡£Ã¿¸öÎļþ¶¼ÌṩÁËÓйØÕâ¸öÌØÊâ½ø³ÌµÄÏêϸÐÅÏ¢¡£ÀýÈ磬Ҫ²é¿´ init µÄ command-line ÏîµÄÄÚÈÝ£¬Ö»Ðè¶Ô cmdline ÎļþÖ´ÐÐcat ÃüÁî¡£
/proc ÖÐÁíÍâһЩÓÐȤµÄÎļþÓУºcpuinfo£¬Ëü±êʶÁË´¦ÀíÆ÷µÄÀàÐͺÍËٶȣ»pci£¬ÏÔʾÔÚ PCI ×ÜÏßÉÏÕÒµ½µÄÉ豸£»modules£¬±êʶÁ˵±Ç°¼ÓÔص½ÄÚºËÖеÄÄ£¿é¡£
Çåµ¥ 1. ¶Ô /proc µÄ½»»¥¹ý³Ì
[root@plato]# ls /proc
1 2040 2347 2874 474 fb mdstat sys
104 2061 2356 2930 9 filesystems meminfo sysrq-trigger
113 2073 2375 2933 acpi fs misc sysvipc
1375 21 2409 2934 buddyinfo ide
Ïà¹ØÎĵµ£º
ÏÖÔÚʹÓÃlinuxµÄÅóÓÑÔ½À´Ô½¶àÁË£¬ÔÚlinuxÏÂ×ö¿ª·¢Ê×ÏȾÍÊÇÐèÒªÅäÖû·¾³±äÁ¿£¬ÏÂÃæÒÔÅäÖÃjava»·¾³±äÁ¿ÎªÀý½éÉÜÈýÖÖÅäÖû·¾³±äÁ¿µÄ·½·¨¡£
1.ÐÞ¸Ä/etc/profileÎļþ
Èç¹ûÄãµÄ¼ÆËã»ú½ö½ö×÷Ϊ¿ª·¢Ê¹ÓÃʱÍƼöʹÓÃÕâÖÖ·½·¨£¬ÒòΪËùÓÐÓû§µÄshell¶¼ÓÐȨʹÓÃÕâЩ»·¾³±äÁ¿£¬¿ÉÄÜ»á¸øϵͳ´øÀ´°²È«ÐÔÎÊÌâ¡£
(1)Ó ......
JSPÔ´´úÂë
<%
//»ñȡϵͳʱ¼ä
//String ddate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
TimeZone.setDefault(tz);
  ......
#include "stdio.h"
#include "math.h"
#include "time.h"
#define INTERVAL 1 ¶¨ÒåºêµÄʱ¼ä¼ä¸ôΪ1Ãë
//
void On_Time() //ÿһÃ뼤·¢µÄʼþ
{
printf("now=%s\n","JJK");
}
void Timer() //ʱÖӵĺ¯Êý
{ time_t newclk,oldclk;
while(1)
&nb ......
±¾À´ÎÒÓõÄÊÇÕâÑùµÄ³ÌÐò
# include <iostream.h>
int main(void)
{
int i,j;
j=0;
i=j+1;
cout<<"hello world!"<<endl;
cout<<"the result is"<<i<<endl;
return 0;
}
ÀûÓÃg++ -o test test.cpp¡£µ«ÊÇÕâÑùÊÇÓдíÎóµÄ£¬ÌáʾÎÞ·¨´ ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
½üÈÕ£¬ÔÚLinuxCON 2009´ó»áÉÏ£¬×ÀÃæ
Linux
ÓÖ³ÉΪҵ½ç¹Ø×¢µÄ½¹µãÖ®Ò»¡£¸÷ÖÖ²»Í¬µÄÉùÒô£¬É¤ÃŶ¼ºÜ´ó¡£ÔÚÕâ·×·×ÈÂȵķÕΧÖУ¬
Linux
ÈçºÎ×ß³ö×ÀÃæÀ§¾³£¿
& ......