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/是內核的小窗戶。

 

  二、日誌系統

  位置: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號信號(可能產生殭屍進程(不受控制的子進程))。

  看一個各個信號

  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的所有進程)

  再來看一下進程的幾種狀態:

  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 就可以踢掉他啦!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章