一、程序的型別
可以將執行在linux系統中的程序分為三種不同的型別:
互動程序:由乙個shell啟動的程序。互動程序既可以在前台執行,也可以在後台 執行。
二、程序的啟動方式
手工啟動
前台啟動:是手工啟動乙個程序的最常用的方式。一般地,使用者鍵入乙個命令「ls -l」,這就已經啟動了乙個程序,而且是乙個前台的程序。
後台啟動:直接從後台手工啟動乙個程序用得比較少一些,除非是該程序甚為耗時, 且使用者也不急著需要結果的時候。
ls –r / >list &
排程啟動
排程啟動方式是事先進行設定,根據使用者要求讓系統自行啟動
三、檢視系統中的程序
1、ps命令
格式:ps [選項]
[root@hostpp]$ ps 顯示本賬號的程序
[root@hostpp]$ ps –aux 檢視系統和每位使用者全部程序
由於ps –aux會列出系統中正在執行的所有程序,因此不易找到特定的程序。若搭 配grep命令,則可事半功倍:[root@host pp]$ ps –aux|grep pp 查詢pp的程序
ps命令使用說明:
常用引數:
a:顯示所有程序
u:顯示較詳細的資訊
x:顯示所有包含其它使用者的程序。
使用範例:
2、top命令監視系統資源使用情況
每5秒鐘重新整理一次,動態顯示
按下u鍵:輸入使用者名稱 檢視使用者程序
按下k鍵:輸入pid 刪除程序
四、控制系統中的程序
1、kill命令和killall命令
kill命令不但能殺死程序,同時也會殺死該程序的所有子程序。
kill命令的格式是:kill –signalpid
為什麼要殺死程序
該程序占用了過多的cpu時間
該程序鎖住了乙個終端,使其他前台程序無法執行
執行時間過長,但沒有預期效果
產生了過多到螢幕或磁碟檔案的輸出
無法正常退出
使用者也可以用killall命令來殺死程序,在killall命令後面指定的是要殺死的程序的 命令名稱,而不是pid
範例:kill –9927 引數-9:強制殺死
2、nice命令
nice
指定程式的執行優先順序
格式:nice –n command
[root@hostroot]# nice - -5 myprogram&
在後台以-5的優先順序執行myprogram
其中n是為程序執行指定的優先順序,n的數值越大,程序的優先順序越低.n可以取負 值讓執行級提高。
3、renice命令
renice
改變乙個正在執行的程序的優先順序
格式:renice –n pid 是被指定的程序
[root@hostroot]# renice - -5 777
將正在執行的pid為777的程序優先順序改為-5
4、在後台執行程式的&、bg命令
[root@host root]# cp –r /usr/* test&
將/usr目錄下的所有子目錄及檔案複製到/root/test目錄下的工作放到後台執行
[root@host root]# fg 放到前台並顯示執行過程
按下ctrl+z鍵掛起該執行程式
[root@host root]# bg 再將執行過程放到後台
[root@host root]# jobs 檢視被掛起的程序
5、程序的掛起和恢復
程序的中止(掛起)和終止
掛起(ctrl+z)
終止(ctrl+c)
程序的恢復
恢復到前台繼續執行(fg)
恢復到後台繼續執行(bg)
檢視被掛起的程序(jobs)
6、自動安排程序任務
自動啟動程序的幾個命令
at 安排作業在某一時刻執行一次
batch 安排作業在系統負載不重時執行一次
系統負載大於1.5不執行。
cron 安排週期性執行的作業
7、at和batch
at命令用來指定在某一時刻執行命令,at命令的格式是:at [選項] 時間
at的配置檔案
作用:限制哪些使用者可以使用at命令
/etc/at.allow
/etc/at.deny
batch命令的用法和at類似,只是使用者可以不必指定時間,batch會在系統負載小 於1.5的時候執行命令。
8、應用程式cron
cron程序搜尋crontab檔案並載入記憶體 ( crontab檔案即/etc/crontab檔案和 /var/spool/cron/目錄下以使用者名稱命名的檔案)
cron程序啟動以後,它將首先檢查是否有使用者設定了crontab檔案,如果沒有就轉 入「休眠」狀態,釋放系統資源
cron程序每分鐘醒來一次,檢視crontab檔案決定當前是否有需要執行的命令。命 令執行結束後,任何輸出都將作為郵件傳送給crontab的所有者
crontab命令的作用及格式
作用:用於生成cron程序所需要的crontab檔案
crontab的命令格式
crontab[-u user] file
crontab[-u user]
-l 該選項將使在標準輸出上顯示當前的crontab
-r 刪除當前的crontab
-e 使用編輯器編輯當前的crontab檔案。
當結束編輯離開時,編輯後的檔案將自動安裝
crontab檔案格式:
minute hour day month dayofweek command
字段 所代表的意義 可用範圍
minute 每小時的第幾分鐘執行該程式 0 ~ 59
hour 每一天的第幾小時執行該程式 0 ~23
day 每個月的第幾天執行該程式 1 ~ 31
month 每一年的第幾個月執行該程式 1 ~ 12
dayof week 每一周的第幾天執行該程式 0~ 6
command 指定要執行的程式 輸入要執行的命令及引數
範例:20 4 * * * program
指定每天的4點20分執行program命令
50 3 9 * * program
指定每月的9日3點50分執行program命令
1 0 8 9 * program 或
1 0 8 sep * program
指定每年的9月8日0點1分執行program命令
9、計畫任務建立方法
如果需要在每週2、4、6凌晨3點使系統進入維護狀態,重新啟動系統,設該檔案 名為/root/reboot.cron:
1.建立乙個crontab
# echo 「00 03 * * 2,4,6 shutdown –r +10」>/root/reboot.cron
2.使用crontab命令安裝/root/reboot.cron檔案
#crontab/root/reboot.cron 安裝
[root@hostroot]# corntab –e
建立root使用者的corn檔案
5514 * * * ls /root corn內容
[pp@hostpp]$ crontab –e 建立pp使用者的corn檔案
3018 * * * ll /home/pp corn內容
[root@hostroot]# crontab –r 刪除root的cron
LINUX程序管理
1.程序是什麼?乙個程序就是出於執行期的程式,包括 可執行程式 段 開啟的檔案,掛起的訊號,核心內部資料,處理器狀態,位址空間,乙個或多個執行執行緒,當然還包括用來存放全域性變數的資料段,等等.2.什麼是執行緒?它和程序的關係是什麼樣的?執行緒在linux中具體是怎麼樣實現的?是在程序中活動的物件,...
linux程序管理
程序的監控 使用ps aux 檢視當前所有程序。可以使用top檢視當前程序自動更新列表,在top中m 按記憶體大小排列,p 按cpu佔用率排列 終止和管理程序 程序之間通過訊號來進行通訊 top和kill都用於向程序傳送訊號。kill l顯示訊號編號表。kill 9 pid kill pid 向pi...
Linux 程序管理
1.linux程序管理工具,包括ps pgrep top kill killall pkill 等 常用 ps aux 或lax輸出的解釋 user 程序的屬主 pid 程序的id ppid 父程序 cpu 程序占用的cpu百分比 mem 占用記憶體的百分比 ni 程序的nice值,數值大,表示較少...