《LINUX學習:Linux進程控制和計劃任務管理》要點:
本文介紹了LINUX學習:Linux進程控制和計劃任務管理,希望對您有用。如果有疑問,可以聯系我們。
程序是保留在外部存儲介質(如硬盤)中的可執行機器代碼和數據的靜態集合,而進程是在CPU及內存中處于動態執行狀態的計算機程序.在Linux中,每個程序啟動后可以創建一個或多個進程.
ps命令? 查看靜態的進程統計信息
ps? ? ? ? 只顯示當前用戶會話中打開的進程
ps? aux? ? 以簡單列表的形式顯示出進程信息
ps? -elf? 以長格式顯示系統中的進程信息,包含更豐富的內容
top命令? 查看進程動態信息
? 在當前終端已交互式的界面顯示進程排名,及時跟蹤CPU、內存等系統資源占用的情況,默認每三秒刷新一次
P鍵:根據CPU占用情況對進程進行排序
M鍵:根據內存占用情況對進程進行排序
N鍵:根據啟動時間進行排序
h鍵:獲得top程序的在線贊助信息
q鍵:退出top程序
k鍵:輸入指定進程PID號,按下Enter鍵,終止對應的進程
pgrep命令? ? 查詢指定過程信息
? -l? 同時顯示PID和對應的過程名
? -U? 查詢特定用戶的過程
? -t? 查詢在特定終端運行的過程(如tty1)
pstree命令? ? 查看進程樹形結構,各進程對應的關系
? -aup? 查看當前進程樹,并包含進程對應的PID號、用戶名、完整命令信息
? -ap 用戶名參數? 只查看指定用戶的進程樹結構
控制進程
命令+&? 在后臺運行命令,不占用前臺的命令操作界面
Ctrl+Z? 將當前進程掛起,調入后臺并停止執行
jobs? 查看后臺運行的進程任務
? -l? 同時顯示該進程對應的PID號
bg+PID號? ? 將后臺暫停執行的任務恢復運行,繼續在后臺運行
fg+PID號? ? 將后臺暫停執行的任務恢復到前臺運行
?
終止進程執行
Ctrl+C? 強制中斷正在前臺執行的某個進程
kill+PID號? ? 終止進程并正常退出
? -9? ? ? 強制終止某個進程
killall+進程名? ? 終止系統中多個相同名稱的進程,更加便利、效率
? -9? ? 強行終止
pkill命令? ? 可以根據進程的名稱、用戶、終端等屬性終止特定的進程
? -U? 終止特定用戶的進程
? -t? 終止在特定終端運行的進程(如tty1)
計劃任務管理
? 在Linux操作系統中,還可以配置在指定時間,指定日期執行預先計劃好的系統管理任務(如按期備份、按期采集監測數據)
at 一次性任務設置
? 配置文件? /etc/init.d/atd
? 命令格式: at? 時間? 日期
? 例如:在2017年8月15日的20:00是自動關閉系統
? ? # at? 20:00? 2017-8-15? ? ? ? ? ? ? ?
?at> shutdown? -h? now? ? ? ? ? ? ? ? ? ?
?at>? 設置完后按 Ctrl+D 提交任務? ? ? ? ?
atq命令? 查詢已設置但還未執行的計劃任務
atrm命令? 刪除指定編號的 at 任務,刪除后將不會執行
crontab 周期性任務設置
? 配置文件? /etc/crontab
? 用戶 cron 任務配置文件存放目錄? /var/spool/cron
? 命令格式: crontab? -e? 編輯計劃任務列表
? ? ? ? ? ? ? ? ? ? ? -u? 指定管理的計劃任務屬于哪個用戶,默認自己
? ? ? ? ? ? ? ? ? ? ? -l? 列表顯示任務計劃
? ? ? ? ? ? ? ? ? ? ? -r? 刪除計劃任務列表
1.編輯計劃任務列表
? 執行crontab? -e 后,打開計劃任務編輯界面
? 編輯格式:? 分鐘? 小時? 日期? 月份? 星期? 執行的命令
? * 表示取值范圍中的任意時間
? - 表示一個連續的時間范圍,如“1-3”表示1、2、3
? ,表示一個間隔的不連續范圍,如“1,5”表示1,5
? / 表示指定的間隔頻率,如在小時字段中的“*/12”表示每個12小時
? ? 例如:依照固定的周期重復執行以下系統管理任務,任務內容如下
? 1.每天早上7:50自動開啟sshd服務,22點50時封閉
? 2.每隔5天清空一次FTP服務器公共目錄/var/ftp/pub
? 3.每周六的7:30時,重新啟動httpd服務
? 4.每周一、三、五的17:30時,打包備份/etc/httpd目錄
? # crontab -e? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 50? 7? *? *? *? /sbin/service? sshd? start? ? ? ? ? ? ? ? ? ? ?
? ? 50? 22? *? *? *? /sbin/service? sshd? stop? ? ? ? ? ? ? ? ? ? ?
? ? 0? 0? */5? *? *? /bin/rm? -rf? /var/ftp/pub/*? ? ? ? ? ? ? ? ? ?
? ? 30? 7? *? *? 6? /sbin/service? httpd? restart? ? ? ? ? ? ? ? ? ?
? ? 30? 17? *? *? 1,3,5? /bin/tar? zcf? httpd.tar.gz? /etc/httpd/? ?
2.查看任務列表
? crontab? -l? 查看當前用戶的方案任務列表
? ? ? ? -u? 查看其它用戶的方案任務
? 例如:查看用戶 ysf 的方案任務
? # crontab? -l? -u? ysf? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
3.刪除用戶的計劃任務列表
? 當只需刪除某一條計劃任務時,可通過 crontab -e 進行編輯;必要清空某個用戶的所有計劃任務時,可以執行 crontab -r 命令
? 例如:查看用戶 ysf 的計劃任務
? ? # crontab? -r? -u? ysf? ? ?
本文永遠更新鏈接地址:
學習更多LINUX教程,請查看站內專欄,如果有LINUX疑問,可以加QQ交流《LINUX學習:Linux進程控制和計劃任務管理》。