学习进程和计划任务管理
目錄
進程與線程
進程(Process)
線程(Thread)
線程和進程的區別是什么?
查看進程信息ps
查看進程信息top
查看進程信息pgrep
查看進程信息pstree
進程的啟動方式
■手工啟動
■調度啟動
進程的前后臺調度
終止進程的運行
■Ctrl+C組合鍵
■kill、killall命令
■pkill命令
計劃任務管理at
?計劃任務管理crontab
■crontab命令
■管理crontab計劃任務
crontab任務配置的格式
■時間數值的特殊表示方法
■應用示例
總結
進程與線程
內核功能:進程管理、內存管理、文件系統、網絡功能、驅動程序、安全功能等
對于所有的操作系統,都有基本的功能
Process:運行中的程序的一個副本,是被載入內存的一個指令集合,是資源分配的單位
進程ID (Process ID, PID) 號碼是被用來標記各個進程
UID、GID、和SELinux語境決定對文件系統的存取和訪問權限
通常從執行進程的用戶來繼承
存在生命周期
進程所占用的內存空間由操作系統決定
進程與線程的區別和聯系
概念
進程第一個進程是initd
進程(Process)
是指計算機中E運行的程序。進程曾經是分時系統的基本運作單位。
· 進程是正在執行的程序;
· 進程是可以分配處理器并由處理執行的實體;
可以運行多個(專業名稱叫多實例)
進程需要操作系統分配空間
進程的創建
第一個進程是init
進程都是由父進程創建
線程(Thread)
是操作系統能夠進行運算調度的最小單位。它被包含在進程之中,是進程中的實際運作單位。
一個進程至少有一個執行線程;
線程也被稱為輕量級進程;
線程是進程內部的一部分;
進程是資源競爭的基本單位;
線程是程序執行的最小單位;
資源占有角度
·操作系統會為一個進程分配一堆資源,所有的進程之間是獨立的,是互不影響的。
·線程會共享進程的虛擬地址空間,只擁有一小部分資源,比如自己的線程ID,私有棧空間,自己的上下文數據等。
線程是共享資源,所以一個線程的異常退出會影響整個進程異常退出,并且要注意線程間的同步與互斥問題。
調度與切換
· 進程會攜帶很多資源,所以創建和撤銷進程時,代價較大
線程花費代價較小
· 進程會攜帶很多資源,所以進程之間的切換或調度時,操作系統要做的工作比較多
線程調度時,工作較少
進程與線程的聯系
進程和線程都是操作系統所運行的程序運行的基本單元。
線程和進程的區別是什么?
類似”進程是資源分配的最小單位,線程是CPU調度的最小單位“這樣的回答感覺太抽象,都不太容易讓人理解。
做個簡單的比喻:
線程在進程下行進
一個進程可以包含多個線程
不同進程間數據很難共享
同一進程下不同線程間數據很易共享
進程要比線程消耗更多的計算機資源
進程間不會相互影響,一個線程掛掉將導致整個進程掛掉
進程可以拓展到多機,進程最多適合多核
進程使用的內存地址可以上鎖,即一個線程使用某些共享內存時,
其他線程必須等它結束,才能使用這一塊內存。
查看進程信息ps
ps命令
●查看靜態的進程統計信息
[root@localhost ~]# ps? -elf
查看進程信息top
top命令
查看動態的進程排名信息
[root@localhost ~]# top
查看進程信息pgrep
pgrep命令
●根據特定條件查詢進程PID信息
查看進程信息pstree
■pstree命令
●以樹形結構列出進程信息
vim /proc/ 進程的PID號文件夾/stat
進程的啟動方式
■手工啟動
●前臺啟動:用戶輸入命令,直接執行程序
●后臺啟動:在命令行尾加入“&”符號
■調度啟動
●使用at命令,設置一次性計劃任務
●使用crontab命令,設置周期性計劃任務
進程的前后臺調度
■Ctrl+Z組合鍵
將當前進程掛起,即調入后臺并停止執行
■jobs命令
查看處于后臺的任務列表.
■fg命令
將后臺進程恢復到前臺運行,可指定任務序號
終止進程的運行
■Ctrl+C組合鍵
●中斷正在執行的命令
■kill、killall命令
●kil用于終止指定PID號的進程
●kilall用于終止指定名稱的所有進程
●-9選項用于強制終止
■pkill命令
●根據特定條件終止相應的進程
●常用命令選項
-∪:根據進程所屬的用戶名終止相應進程
-t:根據進程所在的終端終止相應進程
計劃任務管理at
at命令
●一次性計劃任務
at? [HH:MM]? [yyyy-mm-dd]
?計劃任務管理crontab
■crontab命令
按照預先設置的時間周期(分鐘、 小時、...... 重復執行用戶指定的命令操作
●屬于周期性計劃任務
●主要設置文件
◆全局配置文件,位于文件: /etc/crontab
◆系統默認的設置,位于目錄: /etc/cron.*/
◆用戶定義的設置,位于文件: /var/spool/cron/用戶名
■管理crontab計劃任務
編輯計劃任務
crontab ?-e??[-u用戶名]
●查看計劃任務
crontab ?1 ?[-u用戶名]
●刪除計劃任務
Crontab??-r??[-u用戶名]
crontab任務配置的格式
分 時 日 月 周 命令
■時間數值的特殊表示方法
●*表示該范圍內的任意時間
●,表示間隔的多個不連續時間點
●-表示一個連續的時間范圍
●/指定間隔的時間頻率
■應用示例
●0?17??*?*?1-5?????周一到周五每天17:00
●30 ?8?*?*1,3,5????每周一、三、五的8點30分
●0 8-18/2?* * * ????8點到1 8點之間每2小時
●0?*?*?/3?*?*???????每3天
總結
主要學習進程和計劃任務管理,需要掌握進程與線程的區別與計劃任務管理
總結
以上是生活随笔為你收集整理的学习进程和计划任务管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转:领导力与你想象的并不一样
- 下一篇: 2021我上岸了!分享我的招银网络科技