程式
儲存在硬碟、CD光牒等媒體中的可執行代碼和資料;
靜态儲存的代碼
程序
在 cpu 及記憶體中運作的程式代碼;動态執行的代碼;父、子程序;
每個程序可以建立一個或多個程序
ps指令
檢視靜态的程序統計資訊
[root@localhost ~]#ps -
elf
s root
08:27
ee:oe
system d
l s root
og:27
se:es
ee:ee
ee:0ö
c pri
• -%itched-root - -system
'*chan
6 • 4b4s7 ep_pol_
- -deserialize 21
o k threa
e sroboo
o worker
o sroboo
e rcu_gp
o rcu_gp
/ us s yst
[ksofti rqd,'sj
rke chi
t migration,'ßl
rcu_bhl
t rcu_schedl " title="s uld
t rcu_schedl " style="visibility: visible; width: 654px; height: 135px;">
top指令
檢視動态的程序排名資訊
[root@localhost ~]#top
23877
99
0.0 us,
999936
2097148
0.6
i 98
401024
2 ieeŔng,
100.0 ia, 0.0
106420
492492
708528
0:00
eu e e / cache
sseo
4260
os
s shd " title="619
s shd " style="visibility: visible; width: 654px; height: 136px;">
pgrep指令
根據特定條件查詢程序 pid 資訊
2538 rsys'pgd
2113 mge!pg
troot@ocalbost pgrep -l
-u teacher -t ttyl
27483 bash
27584 vim " title="[ropt@lqgalhost pgrep -l "log"
27584 vim " style="visibility: visible; width: 578px; height: 288px;">
pstree指令
以樹形結構列出程序資訊
init, i
hogin,3221
i myfile.txt
[root@localhost pstree -ap teacher
bash,27483
i—vim,27674 myfile.txt " title="[root@localhost pstree -eup
i—vim,27674 myfile.txt " style="visibility: visible; width: 592px; height: 359px;">
程序的啟動方式
手工啟動
前台啟動:使用者輸入指令,直接執行程式
背景啟動:在指令行尾加入“&”符号
[11 28454
pid* " title="[root@localhost cp idev/cdrom mycd.iso &
pid* " style="visibility: visible; width: 627px; height: 148px;">
排程啟動
使用 at 指令,設定一次性計劃任務
使用 crontab 指令,設定周期性計劃任務
程序的前背景排程
ctrl+z 組合鍵
将目前程序挂起,即調入背景并停止執行
jobs 指令
檢視處于背景的任務清單
fg 指令
将背景程序恢複到前台運作,可指定任務序号
[il- stopped
cp idev/gdrqm mycd.iso
[2]+ stopped
top
—w fg 1 " title="jobs
—w fg 1 " style="visibility: visible; width: 578px; height: 145px;">
終止程序的運作
ctrl+c 組合鍵
中斷正在執行的指令
kill、killall 指令
kill用于終止指定pid号的程序
killall用于終止指定名稱的所有程序
-9 選項用于強制終止
pkill指令
根據特定條件終止相應的程序
常用指令選項
-u:根據程序所屬的使用者名終止相應程序
-t:根據程序所在的終端終止相應程序
計劃任務管理
at:一次性計劃任務指令
at [hh:mm] [yyyy-mm-dd]
sun may 7 edt 2017
at 10:35 2017-05-07
at> pgrep -u root i wc -i >
job 1 at sun may 7 2017
[root@localhost cat itmp/ps,root
202 " title="[root@lqcalhost date
202 " style="visibility: visible; width: 522px; height: 286px;">
[root@localtvost at 21
at> shutdown -h now
job 2 at sun may 7 2017
qtq
2
sun may 7 2017 a root
atrm 2
[root@localhost atq " title="21•.30
[root@localhost atq " style="visibility: visible; width: 654px; height: 410px;">
crontab指令
按照預先設定的時間周期(分鐘、小時、天……)重複執行使用者指定的指令操作
屬于周期性計劃任務
主要設定檔案
全局配置檔案,位于檔案:/etc/crontab
系統預設的設定,位于目錄:/etc/cron.*/
使用者定義的設定,位于檔案:/var/spool/cron/使用者名
管理cron計劃任務
編輯計劃任務:crontab -e[-u
使用者名]
檢視計劃任務:crontab -i [-u
删除計劃任務:crontab -r[-u
注意:root使用者可以管理指定使用者的計劃任務;普通使用者隻能管理自己的計劃任務
crontab 任務配置的格式
50 3 2 1
任 務 内 容 設 置
run comm n
分 鐘
日 期
月 份
星 期
說 明
取 值 為 從 0 到 59 之 間 的 任 意 整 數
取 值 為 從 0 到 23 之 間 的 任 意 整 數
取 值 為 從 1 到 31 之 間 的 任 意 整 數
取 值 為 從 1 到 12 之 間 的 任 意 整 數
取 值 為 從 0 到 7 之 間 的 任 意 , 0 或 7 代 表 星 期 日 " title="時 間 周 期 設 置
取 值 為 從 0 到 7 之 間 的 任 意 , 0 或 7 代 表 星 期 日 " style="visibility: visible; width: 641px; height: 393px;">
時間數值的特殊表示方法
* 表示該範圍内的任意時間
, 表示間隔的多個不連續時間點
- 表示一個連續的時間範圍
/ 指定間隔的時間頻率
應用示例
0 17 * *
1-5
周一到周五每天17:00
30 8 * *
1,3,5
每周一、三、五的8點30分
0 8-18/2 * *
* 8
點到18點之間每2小時
0 * */3 *
*
每3天
&; 表示任務在背景執行,如要在背景運作redis-server,則有 redis-server &
常常配套使用的是nohub指令(忽略終端或者上級程式的hub(hangup)信号)
nohup connect_sx &
&&; 表示前一條指令執行成功時,才執行後一條指令 ,如 echo '1‘ && echo '2'
| ;表示管道,上一條指令的輸出,作為下一條指令參數,如 echo 'yes' | wc -l
|| ;表示上一條指令執行失敗後,才執行下一條指令,如 cat nofile || echo "fail"