linux strace ½ø³Ì¸ú×Ù
linux strace ½ø³Ì¸ú×Ù
µ÷ÓÃ:
strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] ...
[ -ofile ] [ -ppid ] ... [ -sstrsize ] [ -uusername ] [ command [ arg ... ] ]
strace -c [ -eexpr ] ... [ -Ooverhead ] [ -Ssortby ] [ command [ arg ... ] ]
¹¦ÄÜ:
¸ú×Ù³ÌʽִÐÐʱµÄϵͳµ÷ÓúÍËù½ÓÊÕµÄÐźÅ.ͨ³£µÄÓ÷¨ÊÇstraceÖ´ÐÐÒ»Ö±µ½commande½áÊø.
²¢ÇÒ½«Ëùµ÷ÓõÄϵͳµ÷ÓõÄÃû³Æ¡¢²ÎÊýºÍ·µ»ØÖµÊä³öµ½±ê×¼Êä³ö»òÕßÊä³öµ½-oÖ¸¶¨µÄÎļþ.
straceÊÇÒ»¸ö¹¦ÄÜÇ¿´óµÄµ÷ÊÔ,·ÖÎöÕï¶Ï¹¤¾ß.Ä㽫·¢ÏÖËûÊÇÒ»¸ö¼«ºÃµÄ°ïÊÖÔÚÄãÒªµ÷ÊÔÒ»¸öÎÞ·¨¿´µ½Ô´Âë»òÕßÔ´ÂëÎÞ·¨ÔÚ±àÒëµÄ³ÌÐò.
Ä㽫ÇáËɵÄѧϰµ½Ò»¸öÈí¼þÊÇÈçºÎͨ¹ýϵͳµ÷ÓÃÀ´ÊµÏÖËûµÄ¹¦ÄܵÄ.¶øÇÒ×÷Ϊһ¸ö³ÌÐòÉè¼ÆÊ¦,Äã¿ÉÒÔÁ˽⵽ÔÚÓû§Ì¬ºÍÄÚºË̬ÊÇÈçºÎͨ¹ýϵͳµ÷ÓúÍÐźÅÀ´ÊµÏÖ³ÌÐòµÄ¹¦ÄܵÄ.
straceµÄÿһÐÐÊä³ö°üÀ¨ÏµÍ³µ÷ÓÃÃû³Æ,È»ºóÊDzÎÊýºÍ·µ»ØÖµ.Õâ¸öÀý×Ó:
strace cat /dev/null
ËûµÄÊä³ö»áÓÐ:
open("/dev/null",O_RDONLY) = 3
ÓдíÎó²úÉúʱ,Ò»°ã»á·µ»Ø-1.ËùÒÔ»áÓдíÎó±êÖ¾ºÍÃèÊö:
open("/foor/bar",)_RDONLY) = -1 ENOENT (no such file or directory)
ÐźŽ«Êä³öιÐźűêÖ¾ºÍÐźŵÄÃèÊö.¸ú×Ù²¢ÖжÏÕâ¸öÃüÁî"sleep 600":
sigsuspend({}
--- SIGINT (Interrupt) ---
+++ killed by SIGINT +++
²ÎÊýµÄÊä³öÓÐЩ²»Ò»ÖÂ.ÈçshellÃüÁîÖÐµÄ ">>tmp",½«Êä³ö:
open("tmp",O_WRONLY|O_APPEND|A_CREAT,0666) = 3
¶ÔÓڽṹָÕë,½«½øÐÐÊʵ±µÄÏÔʾ.Èç:"ls -l /dev/null":
lstat("/dev/null",{st_mode=S_IFCHR|0666},st_rdev=makdev[1,3],...}) = 0
Çë×¢Òâ"struct stat" µÄÉùÃ÷ºÍÕâÀïµÄÊä³ö.lstatµÄµÚÒ»¸ö²ÎÊýÊÇÊäÈë²ÎÊý,¶øµÚ¶þ¸ö²ÎÊýÊÇÏòÍâ´«Öµ.
µ±Äã³¢ÊÔ"ls -l" Ò»¸ö²»´æÔÚµÄÎļþʱ,»áÓÐ:
lstat(/foot/ball",0xb004) = -1 ENOENT (no such file or directory)
char*½«×÷ΪCµÄ×Ö·û´®ÀàÐÍÊä³ö.ûÓÐ×Ö·û´®Êä³öʱһ°ãÊÇchar* ÊÇÒ»¸öתÒå×Ö·û,Ö»Êä³ö×Ö·û´®µÄ³¤¶È.
µ±×Ö·û´®¹ý³¤ÊÇ»áʹÓÃ"..."Ê¡ÂÔ.ÈçÔÚ"ls -l"»áÓÐÒ»¸ögepwuidµ÷ÓöÁÈ¡passwordÎļþ:
read(3,"root::0:0:System Administrator:/"...,1024) = 422
µ±²ÎÊýÊǽṹÊý×éʱ,½«°´ÕÕ¼òµ¥µÄÖ¸ÕëºÍÊý×éÊä³öÈç:
getgro
Ïà¹ØÎĵµ£º
Æô¶¯mysql: /etc/rc.d/init.d/mysql start
ÐÞ¸ÄÃÜÂë: ¸ñʽ£ºmysqladmin -uÓû§Ãû -p¾ÉÃÜÂë password ÐÂÃÜÂë
ʹÓÃÃÜÂëµÇ¼: mysql -u root -p
ÏÔʾÊý¾Ý¿â: show databases;
Ñ¡ÔñÊý¾Ý¿â: use Êý¾Ý¿âÃû;
ÏÔʾ±í: show tables;
ÏÔʾ±í½á¹¹: descibe ±íÃû;
Ô¶³ÌµÇ¼mysqlÐèÒª¿ªÆôÈ ......
×¼±¸¹¤×÷:
¡¡¡¡Óõ½µÄperl À©Õ¹×é¼þ(modules)ÔÚÉÏÆªÌù³ö.( win32::odbc Ä£¿é
)ÏÂÔØ×é¼þºó°´ÕÕReadmeÎļþ°²×°µ¹ÏìӦĿ¼.ÅäÖúÃÏàÓ¦µÄodbcÊý¾ÝÔ´.
¡¡¡¡
¡¡¡¡³ÌÐòʵÏÖ:
¡¡¡¡Ê¹ÓÃ
¡¡¡¡use
Win32::ODBC;
¡¡¡¡
¡¡¡¡Óï¾ä°üº¬Ó¦Ê¹ÓõÄÄ£¿éÊÇwin32::odbc,д³öÊý¾Ý¿â
Á¬½Ó×Ö·û´®
¡¡¡¡
¡¡¡¡$DSN = "DSN =
My DSN ......
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <pthread.h>
#include <assert.h>
void * routine(void * arg);
int pool_add_job(void *(*process)(void * arg),void *arg);
int pool_init(unsigned int thread_num);
int po ......
±¾ÎÄÃèÊöÁËÈçºÎÔÚLinux ubuntu 8.10Ï´Android¿ª·¢»·¾³.
²½Ö裺
1£® °²×°ÐéÄâ¹âÇýdaemon400.exe
2£® ÔÚwindows XPÏÂÓÃÐéÄâ¹âÇý°²×°ubuntu 8.10, isoÎļþΪ£ºubuntu-8.10-beta-desktop-i386.iso
3£® ÓÃdpkgÃüÁî´òpatch:
1) &n ......
#1
¹ØÓÚǶÈëʽϵͳµÄÆô¶¯
(SHARE FOR ALL)
ǶÈëʽ
Linux
Æô¶¯·ÖΪÁ½¸ö²¿·Ö£¬ÏµÍ³Òýµ¼Óë
Linux
Æô¶¯¡£ÏµÍ³Òýµ¼½«Íê³É
Linux
×°ÈëÄÚ´æÇ°£¬³õʼ»¯
CPU
ºÍÏà¹Ø
IO
É豸£¬²¢½«
Linux
µ÷ÈëÄÚ´æµÄ¹¤×÷¡£ÏµÍ³Òýµ¼Ö÷ÒªÓÉ
BootLoader
ʵÏÖ¡£ÔÚ
BootLoader
½«
Linux
Äں˵÷ÈëÄÚ´æÖ®ºó£¬½«È¨Á¦½»¸ø
LinuxK ......