基礎之 程序和列印管理
管理程序
用低優先順序執行程序
nice(c)指令用於以較低的排程優先順序執行命令,每個程序都有乙個 nice 值,用於計算它
的優先順序。nice 值在 0 到 39 範圍內,高值獲得低優先順序,不給實參的預設情況是 nice 值
20。超級使用者可指定負值,以提高優先順序。
在登出程序後程序繼續執行
後台啟動的程序,預設情況下,當登出後就不再存在,但是,可以使用 nohup(c)指令,讓
程序不受掛起和登出影響,得以繼續執行,例如:
$ nohup sort bigfile>sortfile &
4567
$ exit
當使用者登出時,使用者未用輸出改向,輸出將送到當前目錄下的nohup.out 檔案中,如果當前
目錄不可寫,則輸出改向到 $home/nohup.out。
重新啟動安全級精靈程序
根據 c2 安全級要求,某些精靈程序用 luid (login user identifier)標記執行,如此只
能用 sd(adm)實用程式重新啟動他們。如果 luid 限制有效的話(高安全級),只能用sd(
adm),
例如 cron(c)這樣的精靈,在高安全級下要 sd 重新啟動它。
程序終止實用程式
需要終止實用程式時,可以通過發資訊給程序,使它自殺,通常會用在終止一些已掛起的或
是執行的程序。語法如下:
$ kill [-signal]
例如$ kill 4411
4411:terminated
這樣,只能終止執行優先順序大於 25 的程序,小於 25 優先順序的程序只能在重新引導系統中
撤注它。 排程單個作業執行
at(c)指令使得在某指定時間執行一組命令一次,主要用於在系統活動較少的情況下,在預定
時限(例如在半夜後或每日固定時間)內執行指令。要重新定向,可以使用標準輸入,或可文
件輸入;在打入完整的at 指令後,就會顯示出將要執行的作業號與時間。語法如下:
$ at time [date] [increment] < [filename]
任何使用者都能執行乙個 at 作業,但必須給予授權。
指定單個作業排程時間
時間格式為 hr:min 或 min,hr ,用 a.m 或 p.m 指定上午或下午,有效時間包括 no on,
midnight 和 now,指定日期則用「月日〔年〕」格式,例如 feb14。一星期那一天也可用
monday、mon、today 或 tomorrow 代替。
.at 指令從標準輸入中,讀入打算在以後某一時刻所執行的命令:
$ at 14:00 jan
sort /u/user1/file
/u/user1/sort
ctrl>d
job 61202778.a at thu jan 4 14:00:00 1996
記著使用時,要用全路徑名指定檔案。指令輸出以電子郵件傳送給使用者,也可輸出改向到文
件或終端。
列出單個排程作業
使用命令
$ at -1
job 612027780.a at wed jan 24 08:43:00 1996
job 612027900.a at wed jan 24 08:43:00 1996
若指定 jod_id,一般使用者會得到一張自己所有作業的表,根使用者則能取得全部作業的表。
撤消單個排程作業
使用以下指令撤消作業:
$ at -r
可以使用匹配符撤銷多個作業。at 的作業存放在usr/spool/cron/atjobs
在一般資料庫上排程作業
用 crontab (c)指令,從指定檔案或標準輸入拷貝或編輯成使用者的 crontab 檔案,該文規
定了在指定日期和時間排程執行一些指令。crontab 指令提供了對 cron 系統精靈要執行的
作業,清理 /tmp ,撤銷在一般資料上日記檔案或不想要的檔案,以及檢查空間,郵寄警告予
使用者等。/usr/lib/cron/cron.allow 檔案列出了能使用 cron 的使用者,/usr/lib/cron/cron.
deny
檔案列出了拒絕訪問 cron 的使用者,僅當 cron.allow 檔案不存在時,cron.deny 檔案才起
作用。指定作業及其排程時間
作業可能是單個指令或包含多道指令的 shell 指令碼,指令輸出郵寄給使用者,也可輸出改向到
檔案或終端。在檔案中打入作業及執行時間,以執行此作業。檔案可取任何名字,但是,不允
許包括首尾部和空白行,而且,最好取 .cronfile ,這種取名反映其功能,易記易理解。
.cronfile 檔案可用正文編輯或 vi 建立。每個使用者僅提供乙個 .cronfile檔案,每當執行
crontab 指令時,新檔案會改寫原先檔案。編輯已存在的 .cronfile 檔案,增加或修改乙個
作業,然後用 crontab 重新提交 .cronfile 。而每個使用者的登記項會存放在/usr/spool/cro
ntabs/。
列出或修改 cron 作業
要列出當前提供的 cron 作業,可以打入:
$ crontab -1
修改 cron 項,使用指令:
$ crontab -1 >.cronfile
$ vi .cronfile
$ crontab .cronfile
如要撤銷 cron 作業,則打入:
$ crontab -r
但有一樣,請留意,根使用者沒有 .cronfile 檔案。
列印管理
列印假離線(spooler)程式在系統引導時自動啟動,負責列印服務的安裝、配置和管理,在
指定印表機上,將使用者列印請求進行排隊,能在不丟失排隊列印請求下暫停列印。
印表機佇列
印表機會被分組,每組共同訪問乙個佇列(class)。而列印請求可以送入乙個 class ,也
可送往指定印表機上。在乙個 class 中,可隨時移去或增加印表機,用 sysadmsh 選單或scoad
min
的 print manager,可以增加印表機往已有的 class 中,又或增加乙個新 class。
印表機過濾程式
使用印表機過濾程式,可以轉換使用者檔案或資料流,在給定印表機上,合適地列印出來;處
理兩邊列印,草圖或高質量文字列印等;如發現列印失敗,會通知列印服務,然後告訴使用者使用
上出現問題。印表機過濾程式又稱為印表機定義的介面指令碼,存放在/usr/spool/lp/bin。
安裝和配置印表機
要把印表機接到並行埠(parallel port)上,sco unix system v 支援兩個物理並行裝置
(/dev/lp[0-2])。當用主並行埠時,用 lp0 或 lp1,中斷向量為 7。第二個並行埠,/de
v/lp2,
中斷向量同為 7。要把印表機接在序列埠(serial port)上,最好接上智慧卡工作,印表機
能用任意有效序列埠名聯絡。若不要求硬體流控制,可以使用非數據機控制埠名。另一方
面,可以從終端輔助埠上做區域性列印,指令 lprint (c)使使用者從附在終端上的印表機上列印。
安裝印表機
要安裝印表機,先找乙個未用的序列線路接上印表機,連好導線,開啟印表機開關,檢查硬
件連線。然後,呼叫 sysadmsh 選單或 print manager 上,加入印表機,用合適的資訊填好格
式,指定印表機的 class,若所指定的不存在,就建立一新 class,包含介面指令碼路徑名。許多
印表機都能用standard 介面指令碼。
印表機管理
修改印表機配置時,可以增加或撤消目的地;改變印表機介面指令碼、裝置等;以及改變預設
印表機目的地。管理印表機排程時,有幾種選項需要注意:
-stop:為實現某種印表機維護,必需將假脫印表機轉換成 off。
-begin:假離線轉換成 on。
-accept :允許把列印請求送往印表機或 class 中。
-reject:阻止請求假離線列印。
-enable:允許從印表機或 class 上列印。
-disable:阻止列印,但允許假離線出現。
每個列印請求都會賦予乙個優先數,決定何時列印,優先資料取值範圍為 0(最高)到 39
(最低)。預設優先數值同樣是 20。所有列印請求或單個列印請求都能移到不同的佇列或打
印機上,若印表機的佇列阻塞或印表機不能用,就要移去列印請求;印表機要維護,也要移
去列印請求。
如果已移去了所有請求,這個印表機就不再接受新請求,直到印表機啟用為止。要清理列印
機請求,先要指出印表機或請求 id ,若指定了印表機,則當前正在列印的作業也被清除,但是
,不能使用萬用字元去匹配清理列印請求。
UNIX基礎知識之程式和程序
程式 program 是存放在磁碟上 處於某個目錄中的乙個可執行檔案。使用6個exec函式中的乙個由核心將程式讀入儲存器,並使其執行。程式的執行例項被稱為程序 process 某些作業系統使用任務 task 表示正在執行的程式。unix系統確保每個程序都有乙個唯一的數字識別符號,稱為程序id pro...
unix程序管理命令
語法 kill 訊號 程序號 說明 kill 將訊號傳遞給指定程序,訊號意義如下 1 暫停 hangup 2 中斷 interrupt 3 退出 quit 4 非法指令 illegal instruction 5 跟蹤中斷 trace trap 6 abort 7 emt 指令 emulation ...
unix程序管理機制
1 程序的引入原因 描述多道程式在併發系統中的執行過程。由於動態特性,即使相同的程式功能,每次執行時的動態特性不同,因此引入新的有機整體 包括程式功等能,執行時的動態資訊 稱這個有機整體為程序。程序是資源分配的單位。cpu按程序分配資源。2 unix中程式被定義為映像的執行。映像 儲存器映像 cpu...