linux服務分爲rpm包默認安裝的服務和源碼包安裝的服務。 rpm包默認安裝的服務分爲獨立的服務和基於xinetd服務。
rpm包安裝的服務 chkconfig --list #查看服務自啓動狀態,能夠看到全部rpm包安裝的服務 源碼包安裝的服務 查看服務安裝位置:通常是/usr/local/下
rpm安裝的服務和源碼安裝的服務的區別是安裝位置的不一樣。php
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獨有)
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
第一種: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 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 產生此進程的命令
[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 -p #顯示進程的pid pstree -u #顯示進程的所屬用戶
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的用戶
tar -zcf etc.tar.gz /etc & #放入後臺運行 top & #會暫停,由於top是前臺展現的交互命令,放入後臺就沒有意義就暫停了。 jobs -l #顯示後臺的工做,-l參數顯示pid fg %工做號 #%能夠省略
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 -c 字符串 #列出以字符串開頭的進程打開的文件 lsof -u 用戶名 #列出某個用戶的進程打開的文件 lsof -p 進程id #列出某個pid進程打開的文件