Linux系統狀態檢測及進程控制
一、proc文件系統
我們平時輸入的命令:ifconfig,hostname,free(查看內存使用情況),df(查看硬盤使用情況),uname命令是從哪裡得到的信息呢?
答案就是proc!看一下:
jerry@why :~$ cat /proc/version
Linux version 3.2.0-23-generic-pae (buildd@palmer) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu4) ) #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012
jerry@why :~$ uname -a
Linux why 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux
jerry@why :~$
/proc/是內核的小窗戶。
www.2cto.com
二、日志系統
位置:jerry@why :~$ ls /var/log/
下面我用正則找出以.log結尾的日志文件:
jerry@why :/var/log$ locate -r "^/var/log/[a-z]*\.log$"
/var/log/alternatives.log
/var/log/apport.log
/var/log/auth.log
/var/log/boot.log
/var/log/bootstrap.log
/var/log/dpkg.log
/var/log/fontconfig.log
/var/log/jockey.log
/var/log/kern.log
/var/log/mail.log
/var/log/ufw.log
jerry@why :/var/log$
————————————————————————————————————————————————
進程
top查看進程的信息,默認按照cpu占用排序,按M可以按內存占用大小排序。如果想殺掉一個進程呢,發送15號信號,也就是按k回車,如果殺不掉怎麼辦?可以強制殺掉,這時候發送9號信號(可能產生僵屍進程(不受控制的子進程))。
看一個各個信號
www.2cto.com
jerry@why:/var/log$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
jerry@why:/var/log$
ps auxf(x另外還顯示後台進程,沒有的話只顯示控制台進程)(f顯示父子進程關系)
kill 【 -9】 5671(給pid為5671的進程發送9號信號,也就是強殺進程)(kill是發送信號的傳令兵,並不單單是殺掉進程)
skill -9 root(把root的所有進程干掉)
skill -9 jerry(jerry的所有進程)
再來看一下進程的幾種狀態:
www.2cto.com
S(sleeping)T(stop)R(running)D(deepsleeping(深度睡眠))Z(僵屍進程)
還有一點小東西:
jerry@why:~$ w
11:04:03 up 1:47, 1 user, load average: 1.61, 1.70, 1.77
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
jerry pts/1 :0 10:47 0.00s 0.35s 0.00s w
jerry@why:~$
w看有誰登錄了這台電腦。
skill -9 pts/1 就可以踢掉他啦!
作者 Jerryz