Linux是一個多用戶多任務操作系統(tǒng)。多用戶多用戶在同一時間使用電腦系統(tǒng)的多任務Linux的可以執(zhí)行多個任務的同時,也可以是一個任務,他還沒有得到落實,執(zhí)行另一項任務。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:國際域名空間、虛擬空間、營銷軟件、網(wǎng)站建設、新華網(wǎng)站維護、網(wǎng)站推廣。
操作系統(tǒng)來管理多用戶和多任務的要求。大多數(shù)系統(tǒng)都只有一個CPU和主存儲器,一個系統(tǒng)可能有多個二級存儲磁盤和多個輸入/輸出設備。操作系統(tǒng)來管理這些資源和資源共享,在多個用戶之間造成你,當你提出請求,一種錯覺,好像只有你獨自一人占據(jù)。事實上,操作系統(tǒng)的等待被執(zhí)行監(jiān)視任務隊列,這些任務包括用戶的工作,操作系統(tǒng)任務,電子郵件和打印作業(yè)。操作系統(tǒng)根據(jù)每個任務的優(yōu)先級為每個任務分配合適的時間片,每個時間片大約有零點幾秒,雖然看起來很短,但其實有足夠的計算機完成成千上萬的指令集。每個任務都將是系統(tǒng)運行一段時間,然后掛機系統(tǒng)轉向其他任務;回來過了一段時間來處理這個任務,直到任務完成,從任務隊列中刪除。
跑出來的東西Linux系統(tǒng)的流程和作業(yè)可以被稱為一個過程。每個用戶任務,每個系統(tǒng)管理守護程序,可以稱為一個過程。 Linux的分時管理方法使所有的任務共享系統(tǒng)資源。我們所關心的是如何控制這些過程,讓他們可以很好的為客戶服務。
過程更正式的定義是:一個獨立的程序運行在自己的虛擬地址空間。流程和程序是有區(qū)別的,該過程是不是一個程序,雖然它是由程序生成的。程序只是一個靜態(tài)的指令集合,不占系統(tǒng)資源的操作過程中隨時可能發(fā)生態(tài)叢變化的動態(tài),使用的系統(tǒng)資源來運行程序。一個程序可以啟動多個進程。
操作的過程和概念是不同的。一個正在執(zhí)行的進程稱為一個作業(yè),作業(yè)中可包含一個或多個進程,尤其是當使用管道和重定向命令。
作業(yè)控制正在運行的進程的行為進行控制。例如,用戶可以暫者笑停一個過程,稍等片刻,然后繼續(xù)這個過程。 shell來啟動的過程中,在每個進程過程中的所有記錄,用戶可以隨心所欲地掛起進程或重新啟動該進程。作業(yè)控制是許多shell(包括bash和tcsh)的一個特點,允許用戶之間進行切換多個獨立的業(yè)務。
例如,當用戶編輯一個文本文件,并需要中止編輯做其他事情時,利用作業(yè)控制,用戶可以讓編輯器暫時掛起,并返回到shell提示符開始做其他的事情。做其他的事情,你可以重新啟動掛起的編輯器,返回到剛停下來,如果用戶不離開編輯器。這僅僅是一個例子,作業(yè)控制,還有很多其他實際用途。
啟動這一進程
類型需要運行的程序的程序名的,執(zhí)行一個程序,其實是啟動一個進程。在Linux系統(tǒng)中,每個進程都有一個用于系統(tǒng)識別和調(diào)度進程的進程號。主要有兩種方式啟動一個進程:手動啟動和調(diào)度啟動,這是預先設定的,可根據(jù)用戶要求,開始自己的。
1,手動啟動它
直接輸入用戶命令啟動一個進程是手動啟動該進程。手動啟動該進程開始在前臺和后臺可分為啟動。
在前臺啟動手動啟動一個進程,是最常見的方式。在一般情況下,用戶鍵入的命令的“l(fā)s-升”,這啟動了一個過程,和一個前臺進程。此時系統(tǒng)已經(jīng)是多狀態(tài)的過程中。也許有些用戶可能會感到困惑:我只啟動一個進程。但實際上有很多在后臺運行,系統(tǒng)啟動時自動啟動的進程正在悄悄運行。有些用戶快速后鍵入“l(fā)s-l的”命令“PS-X”來查看,但并沒有看到ls的過程,也覺得很奇怪。事實上,這是結束這個進程因為LS太帆嫌櫻快,使用ps看到該進程已經(jīng)執(zhí)行結束。
直接從后臺手工啟動一個進程用不到,除非這個過程是非常耗時的,用戶不急于結果是必要的。假設用戶要開始一個長期運行的過程中格式化的文本文件。為了不使整個shell在格式化過程中,在癱瘓狀態(tài)“是一個明智的選擇,從后臺啟動進程。
2調(diào)度啟動
有時需要一些更耗費時間和資源密集型的維護工作,該系統(tǒng)適合在半夜,這時候用戶可以提前安排,指定任務運行的時間或場合,時間,系統(tǒng)會自動完成所有這些工作。自動啟動的過程中,你需要有以下的啟動命令。
用戶在命令在指定時間執(zhí)行指定的命令序列的第一個重要的命令在命令其他也就是說,命令至少需要指定一個命令,執(zhí)行時間可以正常運行在命令允許您只指定時間,也可以是指定的日期和時間。請注意,在指定的時間歧視問題。 :現(xiàn)在,用戶可以指定執(zhí)行時間:3:20在早晨,在當時發(fā)出命令的前一天晚上20:00,那么究竟什么是執(zhí)行命令的日期?如果用戶仍然在工作前3: 20,則該命令將在這個時候完成退出工作狀態(tài),如果用戶在3:20之前,那么該命令將被執(zhí)行,只有在第二天清晨以下命令語法:
[-V] [-Q隊列] [-f文件名] [-mldbv]時間
AT-C工作[工作]
允許使用一個非常復雜的方法,指定的時間,它可以接受在當天為hh:mm(小時:分鐘)指定的時間,如果時間已過,然后在第二天執(zhí)行,當然,也可用于午夜(深夜),中午(中午),更晦澀難懂的話下午茶(下午茶時間,通常為16:00)指定的時間,用戶還可以使用12小時制,也就是后面的時間AM(上午)或PM(下午)來說明在上午或下午,也可以指定命令執(zhí)行指定日期格式月份的一天(月日)或MM / DD / YY(月/日/年)或DD.MM.YY(月,年)指定的日期必須遵循在后面指定時間。
上述是絕對的計時方法,其實,你可以使用相對計時法,這是很不錯的,要執(zhí)行的命令安排指定的格式為:+計時單位,現(xiàn)在是當前時間,時間單位是一個單位時間,可以是分鐘(分鐘),小時數(shù)(h),天數(shù)(天),周(周)計數(shù)的時間量,無論是幾天或幾個小時,等等。
是一個時序方法用于直接指定命令完成今日(今天),明天(明天)。下面一些例子來說明具體用法。假設現(xiàn)在的時間是
[例]今天下午5:30在指定執(zhí)行命令。 2月24日中午12:30,2001年,命令格式如下:
在下午5:30
在17:30
今天在17:30
現(xiàn)在+ 5小時
現(xiàn)在+ 300分鐘
17:30 24.2.99
17:30 2/24/99
在17:30 2月24日
這些命令的表達更重要的意義是完全一樣的,所以時間完全自由地選擇根據(jù)個人喜好和情況,一般采用絕對時間的24小時時鐘,以避免導致時序錯誤發(fā)生由于用戶自己的疏忽,例如,上面的例子可以寫成:
17:30 2/24/99
這是很清楚的,和其他人理解。
at命令自動執(zhí)行的命令從標準輸入或使用-f選項指定的文件讀取和執(zhí)行命令從一個使用su命令切換到用戶shell,則當前用戶被認為是執(zhí)行用戶,所有的錯誤和輸出將被發(fā)送到用戶但是,如果發(fā)送電子郵件,收到的消息將是原來的用戶登錄shell的所有者。作業(yè)文件的工作,在7月31日上午10時許。
在任何情況下,超級用戶可以使用此命令。對于其他用戶,是否可以使用取決于兩個文件:在/ etc / at.allow和/ etc / at.deny中中。
cron命令BR /上述兩個命令完成某些任務,在一定時間內(nèi),但要知道,他們只能執(zhí)行一次,換句話說,指定運行命令時,系統(tǒng)完成的任務在指定的時間,一切都結束了。但在許多情況下,需要到被重復一個幾個命令,如:一家公司的自動報告員工公司的活動,一個星期的第一周,這個時候你需要使用完成任務cron命令。cron命令不應手動啟動它,cron命令在系統(tǒng)啟動時自動啟動,進入后臺(所以沒有必要使用的符號(&))的用戶沒有權限運行該命令由一個shell腳本,雖然超用戶可以手動啟動cron,但它建議把由系統(tǒng)自行啟動shell腳本。
cron命令搜索找到在/ var / spool / cron內(nèi)目錄中的用戶名/ etc / passwd文件名為crontab文件,這個文件被發(fā)現(xiàn),將被加載到內(nèi)存中。例如,一個的用戶名為狡猾用戶的,它所對應的crontab文件/ var / spool / cron內(nèi)/狡猾的,換句話說,用戶名為crontab文件存儲在/ var / spool / cron內(nèi)目錄搜索的/ etc / crontab文件,這是寫在不同的格式。cron命令cron的啟動,它會首先檢查用戶是否設置crontab文件,如果不轉移到“休眠”狀態(tài),釋放系統(tǒng)資源。后臺進程占用資源非常少,它每分鐘“醒了”隨著時間的推移,看是否有當前需要運行的命令,執(zhí)行命令后,任何輸出將發(fā)送電子郵件的crontab的所有者,或者在/ etc / crontab文件中MAILTO環(huán)境變量中指定的用戶。上面簡單的介紹一些的cron cron命令執(zhí)行的工作原理不需要用戶干預,要求用戶的順序執(zhí)行crontab命令,下面的crontab命令。
crontab命令用于安裝,刪除,crontab命令或列表形式用來驅動cron守護進程。換句話說,用戶需要到執(zhí)行的命令序列到crontab文件執(zhí)行。每個用戶都可以有自己的crontab文件。下面看看如何創(chuàng)建一個crontab文件。在/ VAR / spool / cron內(nèi)的crontab文件不能直接創(chuàng)建或crontab文件crontab命令?,F(xiàn)在假設一個用戶名為狡猾需要創(chuàng)建自己的crontab文件。首先,你可以使用任何文本編輯器來創(chuàng)建一個新的文檔,然后向其中寫入需要運行的定期要執(zhí)行的命令,然后保存并退出。假設文件/ tmp / test.cron中,然后使用crontab命令將文件安裝到用戶的crontab文件。類型: crontab test.cron的
創(chuàng)建一個crontab文件,你可以去到/ var / spool / cron內(nèi)的目錄看看,發(fā)現(xiàn)了一個狡猾的文件,這個文件是必需的crontab文件。
如何在crontab文件中輸入要執(zhí)行的命令和時間。文件中的每一行由六個域,其中前五個字段指定命令執(zhí)行的時間,最后一個域是要執(zhí)行的命令。使用每個域之間的一個空格或制表符分隔的格式如下:
分鐘小時一天一個月月的一年一天一周命令
第二個小時的第一分鐘,3個月的一天,第四個是在今年的前幾個月,在一周的第五天,第六個是要執(zhí)行的命令,這些項目不能為空,必須填補。如果你不需要指定一些這些,你可以用*代替*通配符,可以代替任何字符,所以在任何時間,也就是忽略不計。
過程暫停和恢復命令允許進程被暫停和恢復過程BG FG
作業(yè)控制,當你需要它來運行,待就業(yè)的復蘇從流產(chǎn)后開始繼續(xù)運行。在鍵盤上按ctrl + Z來掛起當前的前臺作業(yè)。鍵盤,按下CTRL + Z將暫停當前執(zhí)行的命令cat使用jobs命令顯示的列表操作的外殼,包括具體的工作,工作數(shù)量和工作電流。狀態(tài)。執(zhí)行恢復過程中,有兩個選項:作業(yè)將掛起fg命令把它放回在前臺操作bg命令在后臺開始將掛起。靈活在使用該命令,將帶來極大的方便。
進程查看器
,由于Linux是一個多用戶的系統(tǒng),有時候也要了解其他用戶現(xiàn)在正在做的,而Linux是一個多進程系統(tǒng),部署和管理這些過程往往需要和管理過程:首先,我們必須知道到底是什么過程?過程?等過程,因此有必要查看工作
命令時,
命令主要用于查看當前在線用戶,這個命令非常有用,如果用戶希望創(chuàng)建即時消息和其他用戶,如使用talk命令,你必須首先確定的,用戶在網(wǎng)上做,或談話過程中不能成立。又如,系統(tǒng)管理員希望監(jiān)視每個登錄的用戶此刻的行動,但也使用誰命令誰命令的應用程序是非常簡單的,你可以更準確地把握用戶的情況,它被廣泛使用。
w命令
命令也用于顯示登錄到系統(tǒng)的用戶,但誰是w命令功能更強大的,它可以不僅誰登錄到系統(tǒng),還可以顯示這些用戶的工作進展,并統(tǒng)計相對更詳細和科學的增強版本,w命令是誰的命令。命令w命令顯示項目按以下順序:當前時間,系統(tǒng)啟動到現(xiàn)在的時間,記錄的數(shù)量的用戶,該系統(tǒng)在過去1秒,5秒和15秒的平均負載。然后,每個用戶的數(shù)據(jù),該項目的顯示順序如下的時間是指:登錄帳號,終端名稱,遠程主機名,登錄時間,空閑時間,JCPU,PCPU當前正在運行的進程的命令行。JCPU所花費的時間和終端(tty)連接的所有進程。這時候不包括過去的后臺作業(yè),但它不包括當前正在運行的后臺作業(yè)所占用的時間。PCPU時間是指由當前進程所占用的時間(即程序)的項目。
ps命令 BR / ps命令是最基本的命令也是非常強大的進程查看器,使用此命令可以決定哪些進程正在運行和運行狀態(tài),這個過程是,僵尸進程,哪些進程占用了過多的資源,等等總之,大多數(shù)的信息通過執(zhí)行命令。
ps命令最常用的監(jiān)控后臺進程的工作,因為后臺進程是不溝通這些標準和屏幕上的鍵盤輸入/輸出設備,所以如果需要檢測其狀態(tài),他們可以使用ps命令。
ps [選項]
下面的命令選項說明:
-E顯示所有進程。
-F格式。
h不顯示標題。
- L的長格式。
-W寬輸出。
顯示終端的進程,包括其他用戶的進程。
R只正在運行的進程。
X顯示沒有控制終端的進程。
O [+ | - ] K1 [+ | - ] K2 [,...]]短按鍵,K1, K2的快捷鍵指定的多級排序順序的進程列表。詩有不同的格式,在指定的缺省值。這些默認順序可以由用戶指定的覆蓋面?!?”字符是可選的,其中的方向,“ - ”字符被反轉指定鍵。
最常用的三個參數(shù)U,一,X
top命令的
top命令和ps命令的是相同的,顯示目前的流程,和其他條件,但頂部是一個動態(tài)的過程,即通過用戶按鍵來刷新當前狀態(tài)。如果在前臺執(zhí)行該命令,它將獨占前臺,直到用戶終止程序更準確的說,top命令提供了實時監(jiān)控系統(tǒng)處理器的狀態(tài),它會顯示系統(tǒng)中CPU最“敏感”的任務列表。該命令可以按CPU使用,內(nèi)存使用率和執(zhí)行時間對任務進行排序;許多交互式命令或者在個人定制文件的命令集的特點。
進程調(diào)度
當你需要中斷一個前臺進程時,他們通常使用至于有很多理由要殺背景按Ctrl + C組合鍵,但對于一個后臺進程,恐怕它不是一個組合鍵就可以解決,那么你必須打開kill命令,該命令可以終止后臺進程。這個過程中所消耗的過程,也許太多的CPU時間,也許過程已經(jīng)掛??傊@種情況經(jīng)常發(fā)生。
kill命令發(fā)送指定的信號給進程的結束過程。如果發(fā)送的信號不指定,則默認值為TERM信號。TERM信號將終止所有的進程永遠不能捕捉到的信號。誰可以捕捉信號的過程中,可能需要使用kill(9)信號,信號不能被捕獲。
kill命令語法很簡單,基本上有兩種方式:
殺[-s信號|-P] [-a〕進程ID ...
殺-L [信號]