Linux程序管理、執行任務 和 軟體安裝(筆記)
一、Linux程序管理
系統:centos7
在linux系統中,分為前臺程序和後臺程序,前臺程序意思就是當一個命令執行的過程中,不允許其他的命令執行,我們之前所學習的常用命令基本上都是前臺程序。
比如我們查詢一個檔案:find / -name init
在這個命令執行中其他命令是不可以執行的。
而後臺程序則執行多個程序一起同步執行:只需要在最後加上“&”
,即表示為後臺程序(注意後臺程序是不能互動執行的,比如ping命令等)
命令:w(who)
描述:檢視使用者資訊
TTY
:表示以什麼方式登入這臺計算機(pts/0 遠端登入)
FROM
:表示從什麼位置登入的。
[email protected]
:表示登入時間、
IDLE
:表示使用者閒置的時間。
JCPU
:表示當前這個使用者執行所有程序耗時總和
PCPU
:表示執行程式耗費的時間
WHAT
: 表示當前執行的什麼任務
load avegage : 表示系統的負載值,分別顯示過去的1、5、15分鐘系統的負載程度,如果是想知道系統的平均負載,三者之和除以3即可,最終結果在0.8以下表示正常,如果達到幾十或上百,那麼系統負載非常高,可能無法響應任何命令
命令:ps(process status)
-a
:顯示所有使用者的程序
-l
:長格式顯示
STAT
:當前狀態 S休眠; D不可中斷的休眠狀態;R執行狀態; Z僵死狀態; R停止
UID
: 表示當前啟動程序的使用者
PID
PPID
:父程序號
TTY
:程序啟動的終端
IN
:程序的優選級
TIME
:程序啟動以來佔用的實際時間
CMD
:程序的命令
其他選項
-u:顯示使用者名稱和啟動時間
-x:顯示沒有控制終端的程序
-e:顯示所有程序,包括沒有控制終端的程序
-w:寬行顯示,可以使用多個w進行加寬顯示
常用命令:
ps -ef
或者 ps -el
(檢視所有程序,包括沒有終端的程序)
ps -ef | --sort pid
可以按照PID進行排序顯示(也可以按照其他進行排序,比如NI)
ps -aux
這個命令可以檢視當前程序暫用cpu和記憶體的百分比
ps -aux | grep nginx
命令 kill
命令:kill [程序號] 關閉程序 kill 1234
kill -9 [程序號] 強制關閉程序
kill -1 [程序號] 重慶程序
xkill 關閉圖形程式
killall 結束所有程序
查詢服務程序號:pgrep [服務名稱]
關閉程序:pkill [程序名]
命令:nohup
語法:nohup program &
描述:是程序在使用者退出登入後仍舊繼續執行
終止一個程式的執行 :ctrl + c
掛起一個程式的執行:ctrl + z
命令:jobs
語法:jobs
把任務恢復到前臺執行fg
[任務編號]
把任務恢復到後臺執行 bg
[任務編號]
命令:top
- d
:指定重新整理時間間隔
- c
:顯示整個命令列的詳細資訊
- u
:可檢視指定使用者的程序
- k
:終止正在執行的程序
描述:程序狀態顯示和程序控制,每5秒自動重新整理一次(動態顯示)
二、計劃任務
定時任務的命令
at
安排作業在某一時刻執行一次(不常用)cron
安排週期性執行作業(常用)
一次性計劃任務
命令:at
語法:at [-f 檔名] 時間
絕對計時法:HH:MM YYYY-MM-DD
相對計時方法:now + n minutes
、 now+n hours
、 now + n days
描述:安排一個或多個命令在指定時間執行一次
(ctrl+d
儲存任務退出)
問題:Can’t open /var/run/atd.pid to signal atd. No atd running?
按照命令: yum -y install at chkconfig --level 35 atd on service atd start
at -d
或者 atrm
刪除任務
at -l
或者atq
檢視任務
如果/etc/at.allow
存在,則在裡面的使用者可以使用at執行計劃
如果/etc/at.deny
存在則在裡面的使用者不可以使用at執行計劃
如果檔案都不存在,則只有root可以使用at執行計劃
週期性任務計劃
命令:crontab
語法:crontab{-l|-r|-e}
-l
顯示當前的crontab
-r
刪除當前的crontab
-e
使用編輯器編輯當前的crontab
檔案描述:用於生成cron程序所需的crontab檔案
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
- 星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。
- 逗號(,):可以用逗號隔開的值指定一個列表範圍,例如,“1,2,5,7,8,9”
- 中槓(-):可以用整數之間的中槓表示一個整數範圍,例如“2-6”表示“2,3,4,5,6”
- 正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鐘執行一次。
# 檢視crond程序是否存在
ps -el | grep crond
通過crontable -e
去編輯任務。crontab 檔案建立好後可以到/var/spool/cron
目錄確認。
注意:使用命令時需要用絕對路徑。(whereis
命令 :獲取路徑)
三、安裝軟體
使用yum命令安裝軟體
- 自動解決軟體包依賴關係
- 方便的軟體包升級
- 查詢軟體包yum search [軟體包名稱]
- 安裝yum install [軟體包名稱]
- 檢測升級yum check-update [軟體包名稱]
- 升級yum update [軟體包名稱]
- 軟體包查詢yum list | grep [軟體包名稱]
- 軟體包資訊yum info [軟體包名稱]
- 解除安裝yum remove [軟體包名稱]
例如:安裝gcc (yum clean all) , 安裝telnet
搜尋
安裝telnet
wget 下載安裝
知道地址後,使用wget可以下載檔案。
# 下載tomcat
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz