1. 程式人生 > >Linux程序管理、執行任務 和 軟體安裝(筆記)

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 minutesnow+n hoursnow + 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命令安裝軟體

  • 自動解決軟體包依賴關係
  • 方便的軟體包升級
  1. 查詢軟體包yum search [軟體包名稱]
  2. 安裝yum install [軟體包名稱]
  3. 檢測升級yum check-update [軟體包名稱]
  4. 升級yum update [軟體包名稱]
  5. 軟體包查詢yum list | grep [軟體包名稱]
  6. 軟體包資訊yum info [軟體包名稱]
  7. 解除安裝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