UNIX的程序與工作控制 程序的定義與特性 程序的建立 相關指令 背景執行 調整程序優先權 signal與kill 工作控制

Slides:



Advertisements
Similar presentations
课前寄语 1 、保持纪律 2 、相互配合. 第三节 公民的投资 —— 公民的存款储蓄 课堂导入.
Advertisements

旅遊實務Ⅰ 授課教師:李健民 上課班級: 320. 課程大綱 旅遊業之設立程序 旅行業組織結構 旅行業之分類 旅行業之管理.
常用食物含水量表 食物单位原料重 g 含水量 ml 大米饭一碗 (170g) 大米粥一碗 (500g) 面条一碗 (170g) ( 汤另计 ) 蒸蛋糕一碗 (170g) 5025 藕粉 牛奶
日期: 104 年 5 月 29 日 ( 五 )14:00~15:30 地點:本校紫竹大樓 2 樓 E 化專科教室 資訊融入教學與規劃 - 朗朗學英語飛入雲端 - 報告人 : 資訊執秘王怡文.
親 ( 四 ) 親近神的路. 一、親的三字訣、七字訣: 親近神,親愛人; 與主交通親近神,同情關心親愛人。 甚麼是親? 1. 親有親近、親愛,更有關心、同情、親切的 意思。 2. 親的人與人沒有間隔,拉近人與人之間的距 離,並且樂意幫助人,與人相調建造在一起。
Linux 环境及 Shell 程序 操作系统实验 1. 二、 Shell 编程与进程通信 常用 shell 命令 文件及文件属性操作 ls 、 cp 、 mv 、 rm ln 、 ln –s 、 chmod 、 groupadd 、 useradd 输入输出操作 echo 、 cat >> 、
© 2001 孟静制作 版权所有 第二章 CPU 管理和进程、线程管理 2.1 CPU 管理概述 2.2 进程管理 2.3 进程模型实例分析 :UNIX 早期版本的 CPU 管理 子系统 ( 进程模型 ) 2.4 处理机管理实例分析 (2):linux CPU 管理(进程 模型) 2.5 线程模型.
进 程. “ 程序 ” 和 “ 进程 ” 进程是 OS 对 CPU 执行的程序的运行过程的一种抽象。进程有自 己的生命周期,它由于任务的启动而创建,随着任务的完成(或 终止)而消亡,它所占用的资源也随着进程的终止而释放。 Linux 内核中通常把进程称为任务,每个进程主要通过一个称为进程描 述符(
差勤.
童詩教學 爬格子工作坊 互動過程 童詩教學法 教學教案 相關資源 心得 林士翔
代理商入件流程.
管理學企劃案 -星夜STAR- 系 所:四會計一 指導老師:陳香君 組 長:林玉玫
第 20 章 檢視系統資訊.
上課教材 Database Slide Windows筆電 (32 bit)
您是否相信 優質的人力仲介公司 絕對可以為您的生產力及良率加分.
青少年違規案例法律常識搜尋 學生篇.
第十章 UNIX系统内核结构 10.1 UNIX系统概述 10.2 进程的描述和控制 10.3 进程的同步与通信 10.4 存储器管理
第七章 操作系统接口 7.1 联机用户接口 7.2 Shell命令语言 7.3 系统调用 7.4 UNIX系统调用 7.5 图形用户接口.
(4)理论体系与实训模块 必须衔接、融合 本课程把理论教学体系与实训模块结构连接成一个完整的高职课程体系。
最有利標及評選優勝廠商 講師 劉金龍 經歷:臺中市政府發包科科長.
新北市廠商聯合抗旱會議 104年3月23日.
青春期 要長大囉! 男女有別 生命的誕生~兩性結合才有下一代的新生命 為什麼會有月經? 經痛怎麼辦 ? 渡過快樂青春喜歡自己
坚持群众路线 实现中国梦 nice队制作 成员:14金融1班陈云凤 14金融2班王文婷 14会计3班吴丹丹.
教师不仅仅是人类文化的传递者,也应该是学生心灵的塑造者,是学生心理健康的维护者。
102學年度 彰化縣國中新生編班作業 說明會 聯絡電話: #221(註冊組長) #223(資訊組長)
[聚會時, 請將傳呼機和手提電話關掉, 多謝合作]
最有利標及評選優勝廠商 講師 劉金龍 經歷:臺中市政府發包科科長.
資訊安全與系統管理 2013/3/13 Chien wei lin.
UNIX系統與資料庫安裝 Why UNIX 常用的工具程式介紹 資料庫的安裝.
[聚會時,請將傳呼機和手提電話關掉,多謝合作]
組員:蔡典龍4970E027 蕭積遠4970E026 王建智4970E050 李雅俐4970E025 賴品言4970E054
第一讲:Linux基础培训.
[聚會時,請將傳呼機和手提電話關掉,多謝合作]
Linux.
台灣大學計算機及資訊網路中心 教學研究組 張傑生
第4章 作業系統的介紹及操作.
第二天 计算机基础技能培训 (一)linux基础知识
第2章 Linux概述 2.1 操作系统的功能和分类 2.2 Linux操作系统概述 2.3 Linux的应用现状与前景
1-1-1作業系統的功能 提供使用者操作介面 提供程式執行環境 控制輸入\輸出程序 分配系統資源 管理與維護磁碟中的檔案
线程(Thread).
Process management(程序管理)
Linux操作系统分析 中国科学技术大学计算机系 陈香兰(0512- )
耆康會長者中央議會 <<長者與社會參與>>計劃培訓
第3章 認識處理元.
第 23 讲 操作系统接口与UNIX系统内核结构 李元金 计算机与信息工程学院 1.
实验一、进程控制 一、实验目的 1、加深对进程的理解,进一步认识并发执行的实质; 2、分析进程争用资源现象,学习解决进程互斥的方法;
系统管理员培训(I期) 浙江省基层人民法院 -V8版介绍及系统管理培训 二OO八年四月二十三日 法院事业部经理:周春宏
使用操作手冊 智泉國際事業有限公司 Update Aug 2015
作業系統 第三章 作業系統結構.
如何有效率的學習Linux 培養組合能力 多用程式, 少寫程式 從錯誤訊息中學習 養成略讀 “各種文件” 加強英文基本閱讀能力 勤作筆記
法律與生活 教材大綱 蔡月芳編著.
操作系统的结构和硬件支持 第2章 操作系统的结构和硬件支持.
作業系統 第四章 行程.
天主教領島學校 六年級家長座談會 升中選校.
製商整合學程說明會 主講者: 商業自動化中心 陳薏如 助理 2010年9月13日.
杨振伟 清华大学 第一讲:Linux环境下编程(1)
使用操作手冊 智泉國際事業有限公司 Update Aug 2015
102學年度 健康檢查說明會 健康中心 王勤雅.
2.1 高職與私立學校註冊操作說明 (2015/9/15上線)
台灣大學計算機及資訊網路中心 教學研究組 張傑生
第 7 章 进程间的通信.
程序管理 蘇偉順助教.
程序管理 蘇偉順助教.
Computer Science & Information Management
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A Lab4.
杨振伟 清华大学 第一讲:Linux环境下编程(1)
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
《操作系统设计与实现》 Linux系统编程.
Presentation transcript:

UNIX的程序與工作控制 程序的定義與特性 程序的建立 相關指令 背景執行 調整程序優先權 signal與kill 工作控制 at、batch、cron、crontab 參考課本第十七、十六章

程序的定義與特性(一) 定義:一個正在執行中的程式實體 程序(process)通常與程式同名,有時一個程式也會引 發多個程序 UNIX 是一個多人多工系統,每一個使用者在同一時間可 以執行多個程序。 核心(kernel)是程序的最終管理員,決定程序執行的時 間與優先權。 Process使用系統記憶體,在記憶體不足或process閒置等 情況下,kernel會把process相關的記憶體空間移往swap。 等到下次得到cpu時間再取回主記憶體中。

程序的定義與特性(二) process產生時,kernel會給予每一個程序一個唯 一的識別號碼,稱為Process identifier, PID,程序 識別碼。 kernel還會紀錄程序的其他屬性 真正的使用者id 有效的使用者id 真正的group id 有效的group id 執行優先權 執行時的目錄

程序的定義與特性(三) 每個process都有parent(啟動此process的 process)。 每個程序的祖先,可以追溯到系統開機時建立的第 一個程序(PID 0)。 process只有一個parent,但可以有很多child child process完成(死亡)時,會送一個訊號給 parent通知它。控制權就又回到parent上。 通常parent process會比 child process長壽。

程序的建立 核心執行程序的程式映像包含 本文區段(程式執行碼)、資料區段(程式中的變數)、使 用者區段(程序相關的屬性)。 fork:對呼叫他的程序建立一個複製的程序,並給予一個新的 PID。 exec:parent會以即將被執行的程式映像來覆寫剛剛的程序內 容(本文區段與資料區段被置換)。 wait:parent等待子程序的完成。 子程序會繼承parent的環境變數,但修改不會影響 parent的環境變數。

login shell 使用者的第一個程序:login shell echo $$ 可以印出shell的PID。 init 是系統的第二個程序(PID=1),也是login shell 的parent。 init會在每一個連接埠fork並exec一個 getty (/sbin/mingetty),等待user登入。 shell的內部命令不會產生新程序。

ps 指令(一) ps 指令:用來顯示系統中的process與其屬 性。 PID TTY TIME CMD 1070 pts/0 00:00:00 bash 1200 pts/0 00:00:00 ps PID 就是程序識別碼、TTY是與該程序相關的 終端機(有些程序並無相關的終端機)、TIME 顯示process使用CPU的時間、CMD顯示程序名 稱。

ps 指令(二) 每個系統的 ps 的選項有相當大的差異。 Linux上的常用選項 ps ax 列出所有程序 ps u 列出詳細列表 ps f 顯示process的祖先 ps w 寬輸出 通常用 ps auxw | more 來看系統的process

top 指令 top 指令會顯示出相當有用的資料 第一行顯示系統基本資料:時間、上線人數、負載 第二行顯示Process的狀況 第三行顯示CPU的狀況 第四行顯示主記憶體的狀況 第五行顯示swap的使用狀況 接下來顯示負載最重的一些process 如果沒有top,可以使用vmstat來監測系狀況 vmstat 1 每1秒鐘顯示一次系統狀況

背景執行 可以用 指令 & 這樣的方式使指令送到背景去執 行(不過使用者不能登出,但bash與csh除外)。 nohup 指令 & 可以保證使用者登出,指令還可 以執行。

調整程序優先權 用 nice 指令來調整優先權 nice 的典型值由1~19(Linux是-20~19,一 般程式執行時nice值為0,nice指令預設調整為 10) nice 值越高,優先權越低 可以用 ps -l 或 ps -axl 來看process nice值 一般把把較不重要而需要較長執行時間的程式 設定成優先權較低,以免影響正常作業。 nice 指令 或 nice -n 18 指令 renice 12 pid 可以直接改動 pid 的nice值為12

signal與kill(一) 使用者或系統可以送signal(信號)給process,如果該 process沒有設計來處理這個signal,process就會終止。 process可以忽略、補捉(做預先定義好的工作,例如: bbs中的「水球」)或不做任何事(程序會被終止)。 常用的signal編號: 1 掛斷 、2 中斷 3 產生core dump 9 強制殺掉 15 預設的終止信號 24 暫停

signal與kill(二) killall 可以殺掉所有某個名字的process 可以用kill 指令送信號給程序 kill PID kill -9 PID 可以強制殺掉process(砍掉shell process看看) killall 可以殺掉所有某個名字的process

工作控制 C shell、Kron shell、bash、tcsh等shell具有工 作控制機制 Ctl-z 用來中斷前景工作 fg 將背景工作移到前景來工作 bg 將工作移到背景 jobs 列出目前的工作 kill 殺掉工作

at、batch at :設定某件工作在某一個時間進行 at -q 或 atq 查詢進入排程的工作 atrm 清除工作 batch:在系統負載小於某一個數值(Fedora 內定 是 0.8)就執行某一個工作 也是用 atq 與 atrm 來處理工作。 at 與 batch 的工作都是靠atd來啟動執行 at.allow與at.deny可以控制使用者是否可以執行at 或batch(liunx系統在/etc底下)

cron與ctontab(一) 如果要系統規律的執行某些工作,就要使用 cron crond 用來啟動cron jobs的執行,cron的控制檔 案放在 /var/spool/cron 目錄下 cron 的控制格式如下: 每行控制一個工作,每個工作由六個欄位(由 空白分開)組成 分 時 那一天 月份 星期幾 命令 用 crontab 來載入控制檔 crontab -e 直接編輯 控制檔 crontab -u userid可用來載入userid的 cron 控制檔

cron與ctontab(二) cron.allow cron.deny可以用來控制使用者是否能 用cron功能,linux在/etc 底下 Linux的/etc/crontab可以用來控制系統的 cron。 主要是多了run-parts 來include目錄中的可執行 的控制檔案並且可以指定執行者的身份 time 指令:可以用來計算程序執行的時間 寄信指令:mail -s subject email < file

crontab 範例 # 每天凌晨零點五分做 5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1 # 每月一日晚上2:15分做 15 14 1 * * $HOME/bin/monthly # 沒有放假的日子晚上十點提醒Joe 0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids?% 23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday" 5 4 * * sun echo "run at 5 after 4 every sunday" #每小時的14,48分執行 ls 14,48 * * * ls