Linux學習--第十二天--服務、ps、top、pstree、kill、&、jobs、fg、vmstat、dmesg、free、uptime、uname、crontab、ls

服務分類

linux服務分爲rpm包默認安裝的服務和源碼包安裝的服務。
rpm包默認安裝的服務分爲獨立的服務和基於xinetd服務。

查詢已安裝的服務

rpm包安裝的服務
    chkconfig --list          #查看服務自啓動狀態,能夠看到全部rpm包安裝的服務
源碼包安裝的服務
    查看服務安裝位置:通常是/usr/local/下

rpm安裝的服務和源碼安裝的服務的區別是安裝位置的不一樣。php


安裝xinetd與telnet

yum -y install xinetd
yum -y install telnet-server   #xinetd不安全,用的很少了。學習時候能夠安裝了之後再進行學習和測試。

目錄 描述
/etc/ 配置文件目錄
/etc/init.d/ 啓動腳本位置
/etc/sysconfig/ 初始化環境配置文件位置
/etc/xinetd.conf xinetd配置文件
/etc/xinetd.d 基於xinetd服務的啓動腳本
/var/lib/ 服務產生的數據放在這裏
/var/log/ 日誌
/usr/bin 可執行命令安裝目錄
/usr/lib 程序所用的函數庫保存位置
/usr/share/doc 軟件使用手冊保存位置
/usr/share/man 幫助文件保存位置
/etc/rc.d/init.d 啓動文件保存位置

獨立服務的啓動

/etc/init.d/獨立服務名 start|stop|status|restart
service 獨立服務名 start|stop|status|restartlinux

service --status-all
查看全部的rpm包服務狀態apache

獨立服務的自啓動

第一種:chkconfig [--level 運行級別][獨立服務名][on|off]

第二種:修改文件/etc/rc.d/rc.local   加入 /etc/init.d/httpd start

第三種:使用ntssysv命令管理自啓動   (redhat獨有)

xinetd服務的啓動

vi /etc/xinetd.d/telnet
service telnet                       #服務的名稱爲telnet
{
    flag=REUSE                       #標誌爲REUSE,設定TCP/IP socket可重用
    socket_type=stream               #使用TCP協議數據包
    wait=no                          #容許多個鏈接同時鏈接
    user=root                        #啓動服務的用戶爲root
    server=/usr/sbin/in.telnetd      #服務的啓動程序
    log_on_failure += USERID         #登陸失敗後,記錄用戶的ID
    disable = yes                    #服務是否啓動,no爲啓動 
}



service xinetd restart               #重啓xinetd restart

xinetd服務的自啓動

第一種:chkconfig telnet on|off

第二種:ntsysv

xinetd啓動和自啓動會同步。可能這就是他不怎麼用的一個緣由吧。安全

源碼包服務的啓動

/usr/local/apache2/bin/apachectl start|stop     #查看源碼包安裝文件,找到啓動腳本的方法

源碼包服務的自啓動

vi /etc/rc.d/rc.local
/usr/local/apache2/bin/apachctl start

讓源碼包服務被服務管理命令識別

ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache    #讓源碼包的apache服務能被service命令管理啓動


vi /etc/init.d/apache                  #讓源碼包能被chkconfig和ntsysv命令管理自啓動
# chkconfig:35 86 76                   #指定httpd腳本能夠被chkconfig命令管理。格式是:chkconfig:運行級別 啓動順序 關閉順序
# description: source package apache   #說明:內容隨意

服務和做用

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

ps

ps aux                 #a 前臺進程     x後臺進程     u哪一個用戶生成的
ps -efl                #e全部進程      l更詳細的信息  f表達進程之間的關係



USER     PID    %CPU  %MEM    VSZ   RSS   TTY    STAT    START    TIME    COMMAND
root     9617   0.0    0.1  110244  1148 pts/1    R+     12:07    0:00    ps aux

#USER          哪一個用戶產生的
#PID           進程id
#%CPU          佔用cpu資源百分比
#%MEM          佔用內存資源百分比
#VSZ           佔用虛擬內存大小   大小KB
#RSS           佔用那個物理內存大小   KB
#TTY           該進程在哪一個終端中運行   tty1-tty7本地控制檯終端,其中tty7爲圖形終端,其餘字符終端,pts/0-pts/256表明虛擬終端
#STAT          進程狀態  R運行,S睡眠,T中止狀態,s包含子進程,+位於後臺
#START         進程啓動時間
#TIME          佔用cpu運行時間
#COMMAND       產生此進程的命令

top

[root@localhost 12:23:33 Desktop]# top

top - 12:25:24 up 6 min,  2 users,  load average: 4.68, 3.24, 1.48
Tasks: 157 total,   2 running, 155 sleeping,   0 stopped,   0 zombie
Cpu(s):  6.8%us,  1.7%sy,  0.0%ni, 91.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1004132k total,   621724k used,   382408k free,    25888k buffers
Swap:  1048572k total,        0k used,  1048572k free,   240808k cached

/************
第一行:
12:25:24            系統當前時間
up 6 min,           系統運行時間,本機已經運行6分鐘
2 users,            當前系統登陸了兩個用戶
load average: 4.68, 3.24, 1.48       系統在以前1分鐘,5分鐘,15分鐘的平均負載。通常以cpu核數爲界限
*************/



/************
第二行:
Tasks: 157 total,              系統進程總數    
2 running,                     正在睡眠的進程數  
155 sleeping,                  正在運行的進程數
0 stopped,                     正在中止狀態的進程數
0 zombie                       殭屍進程,若是非0,手工檢查殭屍進程
*************/







/************
第三行:
Cpu(s):6.8%us,     用戶模式下佔用cpu百分比  
1.7%sy,            系統模式下佔用cpu百分比
0.0%ni,            改變過優先級的用戶進程佔用的cpu百分比
91.5%id,           空閒cpu的百分比
0.0%wa,            等待輸入和輸出的服務佔用cpu百分比
0.0%hi,            硬中斷請求服務佔用的cpu百分比
0.0%si,            軟中斷請求服務佔用的cpu百分比
0.0%st             虛擬時間百分比,即當有虛擬機時候,虛擬cpu等待實際cpu時間的百分比
*************/

top -d 5      #每五秒刷新一次
?或h          #顯示交互模式幫助
P             #以cpu使用率排序
M             #之內存使用率排序
N             #以pid排序
q             #退出

pstree

pstree -p   #顯示進程的pid
pstree -u   #顯示進程的所屬用戶

kill

kill -l           #查看可用的進程信號
kill -1 進程id     #至關於restart
kill -2 進程id     #至關於ctrl+c
kill -9 進程id     #強制當即結束程序運行
kill -15 進程id    #默認的
kill -19 進程id    #至關於ctrl+z
kill -9 -t tty1   #踢掉本地終端tty1的用戶

&、jobs、fg

tar -zcf etc.tar.gz /etc &     #放入後臺運行
top &                          #會暫停,由於top是前臺展現的交互命令,放入後臺就沒有意義就暫停了。
jobs -l                        #顯示後臺的工做,-l參數顯示pid
fg %工做號                      #%能夠省略

vmstat、dmesg、free、uptime、uname、lsa_release、crontab

vmstat 1 3          #監控系統資源,刷新延時爲1秒 刷新3次
dmesg | grep CPU    #開機時內核檢測信息
free [-b|-m|-k|g]   #以字節爲單位顯示,byte,KB,MB,GB
cat /proc/cpuinfo   #查看cpuinfo
uptime              #查看系統啓動時間和平均負載,top,w命令也能看到這個數據

uname -a            #查看系統全部有關信息
uname -r            #查看內核版本
uname -s            #查看內核名稱
file /bin/ls        #查看系統多少位
lsb_release -a      #查看發行版本


crontab             #若是有百分號要有轉義符,不是當即執行,判斷系統是否繁忙,不繁忙則執行。crond

lsof

lsof -c 字符串    #列出以字符串開頭的進程打開的文件
lsof -u 用戶名    #列出某個用戶的進程打開的文件
lsof -p 進程id    #列出某個pid進程打開的文件
相關文章
相關標籤/搜索