Linux程式控制
1.控制程式(中斷一個程式)
開啟一個程式,會不返回shell提示符,使用Ctrl - C 來返回shell提示符,關閉程式
2.把一個程式放在後臺
放在後臺 的程式,讓程式在後臺執行,返回shell提示符,
xlogo & //程式 &
同時列印一些有趣的數字。 這條資訊是
shell 特性的一部分,叫做工作控制 如:[1] 28236 已經啟動了 工作號為
1(“[1]”),PID 為28236的程式
3.程式返回到前臺
在後臺執行的程式,在命令列中一切的輸入都是免疫的,ctrl - c 也不能結束它,讓他返回前臺的命令是 fg
fg %1 // 1 是工作號 ,可以使用jobs檢視正在執行的程式的工作號
4.停止不是終止一個程式
把一個程式從前臺轉移到後臺, 使用Ctrl - z ,使用 fg 命令,可以恢復程式到前臺執行,或者用 bg 命令把程式移到後臺。
bg %1 //%1 是jobspec
為什麼要從命令列啟動一個圖形介面程式呢?有兩個原因。第一個,你想要啟動的程式,可能 沒有在視窗
管理器的選單中列出來(比方說 xlogo)。第二個,從命令列啟動一個程式, 你能夠看到一些錯誤資訊,
如果從視窗系統中執行程式的話,這些資訊是不可見的。有時候, 一個程式不能從圖形介面選單中啟動。
這時候,應該從命令列中啟動它。我們可能會看到 錯誤資訊,這些資訊揭示了問題所在。一些圖形介面程
序還有許多有意思並且有用的命令列選項。
5.kill 傳送訊號
語法
kill [-signal] PID
選項可以不寫 ,預設是傳送終止(TERM)訊號
編號 | 名字 | 含義 |
---|---|---|
1 | HUP | 掛起。這是美好往昔的痕跡,那時候終端機通過電話線和調變解調器連線到 遠端的計算機。這個訊號被用來告訴程式,控制的終端機已經“掛起”。 通過關閉一個終端會話,可以說明這個訊號的作用。傳送這個訊號到終端機上的前臺程式,程式會終止。許多守護程式也使用這個訊號,來重新初始化。這意味著,當傳送這個訊號到一個守護程式後, 這個程式會重新啟動,並且重新讀取它的配置檔案。Apache 網路伺服器守護程式就是一個例子。 |
2 | INT | 中斷。實現和 Ctrl-c 一樣的功能,由終端傳送。通常,它會終止一個程式。 |
9 | KILL | 殺死。這個訊號很特別。鑑於程式可能會選擇不同的方式,來處理髮送給它的 訊號,其中也包含忽略訊號,這樣呢,從不傳送 Kill 訊號到目標程式。而是核心立即終止 這個程式。當一個程式以這種方式終止的時候,它沒有機會去做些“清理”工作,或者是儲存勞動成果。 因為這個原因,把 KILL 訊號看作殺手鐗,當其它終止訊號失敗後,再使用它。 |
15 | TERM | 終止。這是 kill 命令傳送的預設訊號。如果程式仍然“活著”,可以接受訊號,那麼 這個訊號終止。 |
18 | CONT | 繼續。在停止一段時間後,程式恢復執行。 |
19 | STOP | 停止。這個訊號導致程式停止執行,而沒有終止。像 KILL 訊號,它不被 傳送到目標程式,因此它不能被忽略。 |
3 | QUIT | 退出 |
11 | SEGV | 段錯誤。如果一個程式非法使用記憶體,就會傳送這個訊號。也就是說, 程式試圖寫入記憶體,而這個記憶體空間是不允許此程式寫入的。 |
20 | TSTP | 終端停止。當按下 Ctrl-z 組合鍵後,終端傳送這個訊號。不像 STOP 訊號, TSTP 訊號由目標程式接收,且可能被忽略。 |
28 | WINCH | 改變視窗大小。當改變視窗大小時,系統會傳送這個訊號。 一些程式,像 top 和 less 程式會響應這個訊號,按照新視窗的尺寸,重新整理顯示的內容。 |
6.其他與程式相關的命令
命令名 | 命令描述 |
---|---|
pstree | 輸出一個樹型結構的程式列表,這個列表展示了程式間父/子關係。 |
vmstat | 輸出一個系統資源使用快照,包括記憶體,交換分割槽和磁碟 I/O。 為了看到連續的顯示結果,則在命令名後加上延時的時間(以秒為單位)。例如,“vmstat 5”。 終止輸出,按下 Ctrl-c 組合鍵。 |
xload | 一個圖形介面程式,可以畫出系統負載的圖形。 |
tload | 與 xload 程式相似,但是在終端中畫出圖形。使用 Ctrl-c,來終止輸出。 |
相關文章
- 【Linux】程式控制!!!Linux
- Linux 程式控制Linux
- linux程式控制-wait()LinuxAI
- Linux程式控制程式設計Linux程式設計
- LINUX程式如何管理控制(二)Linux
- LINUX(十一)Linux程式管理及作業控制Linux
- Linux程式管理及作業控制(轉)Linux
- LINUX系統中程式如何管理控制(一)Linux
- Linux Shell程式設計(18)—— 迴圈控制Linux程式設計
- Linux系統程式設計(8)—— 程式之程式控制函式forkLinux程式設計函式
- 修改linux最大檔案控制程式碼數Linux
- linux驅動程式:控制發光二極體Linux
- Linux系統程式設計(27)——執行緒控制Linux程式設計執行緒
- linux系統程式設計之程式(二):程式生命週期與PCB(程式控制塊)Linux程式設計
- Linux系統程式設計之程式控制(程式建立、終止、等待及替換)Linux程式設計
- Linux系統程式設計(9)—— 程式之程式控制函式exec系列函式Linux程式設計函式
- 控制程式碼表篇——程式控制程式碼表
- [APUE] 程式控制
- Linux許可權控制Linux
- [Linux]控制語句If caseLinux
- linux系統ACL控制Linux
- 程式控制--程式的其他操作
- 程式控制語句
- 【Linux】類Unix 作業系統程式監控控制工具 SupervisorLinux作業系統
- 控制程式碼表篇——全域性控制程式碼表
- 流量控制--3.Linux流量控制的元件Linux元件
- Linux遠端控制技術Linux
- 蜂鳴器的控制linuxLinux
- Linux流量控制工具TCLinux
- linux 迴圈控制語句Linux
- Linux的許可權控制Linux
- linux伺服器下安裝nodejs,配置pm2程式控制Linux伺服器NodeJS
- Linux - 修改檔案控制程式碼數(Too many open files 異常)Linux
- linux下epoll如何實現高效處理百萬控制程式碼的Linux
- JavaScript程式控制流(轉)JavaScript
- 程式控制流程面試題面試題
- linux下統計多個java程式的檔案控制程式碼到一個變數LinuxJava變數
- Linux基礎命令---sysctl核心控制Linux