1. 程式人生 > >Linux前後臺程序的切換

Linux前後臺程序的切換

fg、bg、jobs、&、ctrl + z命令

1 .&

加在一個命令的最後,可以把這個命令放到後臺執行 ,如gftp &,

2. ctrl + z

可以將一個正在前臺執行的命令放到後臺,並且處於暫停狀態,不可執行

3. jobs

檢視當前有多少在後臺執行的命令
jobs -l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped, Terminated,但是如果任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的程序標識;也就是說,jobs命令顯示的是當前shell環境中所起的後臺正在執行或者被掛起的任務資訊;

4.fg

將後臺中的命令調至前臺繼續執行
如果後臺中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後臺正在執行的命令的序號(不是pid)

5.bg

將一個在後臺暫停的命令,變成繼續執行 (在後臺執行)
如果後臺中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後臺正在執行的命令的序號(不是pid)
將任務轉移到後臺執行:
ctrl + z;再bg,這樣程序就被移到後臺執行,終端還能繼續接受命令。
概念:當前任務
如果後臺的任務號有2個,[1],[2];如果當第一個後臺任務順利執行完畢,第二個後臺任務還在執行中時,當前任務便會自動變成後臺任務號碼[2]

的後臺任務。所以可以得出一點,即當前任務是會變動的。當用戶輸入fgbgstop等命令時,如果不加任何引號,則所變動的均是當前任務

程序的終止

後臺程序的終止:
方法一:
通過jobs命令檢視job號(假設為num),然後執行kill %num
方法二:
通過ps命令檢視job的程序號(PID,假設為pid),然後執行kill pid
前臺程序的終止:
ctrl+c

kill的其他作用

kill除了可以終止程序,還能給程序傳送其它訊號,使用kill -l可以察看kill支援的訊號。
SIGTERM是不帶引數時kill傳送的訊號,意思是要程序終止執行,但執行與否還得看程序是否支援。如果程序還沒有終止,可以使用kill -SIGKILL pid

,這是由核心來終止程序,程序不能監聽這個訊號。

程序的掛起(暫停的意思吧)

後臺程序的掛起:
在solaris中通過stop命令執行,通過jobs命令檢視job號(假設為num),然後執行stop %num
在redhat中,不存在stop命令,可通過執行命令kill -stop PID,將程序掛起;
當要重新執行當前被掛起的任務時,通過bg %num即可將掛起的job的狀態由stopped改為running,仍在後臺執行;當需要改為在前臺執行時,執行命令fg %num即可;
前臺程序的掛起:
ctrl+Z;

相關推薦

Linux前後臺程序切換

fg、bg、jobs、&、ctrl + z命令 1 .& 加在一個命令的最後,可以把這個命令放到後臺執行 ,如gftp &, 2. ctrl + z 可以將一個正在前臺執行的命令放到後臺,並且處於暫停狀態,不可執行 3. jobs 檢視當

Linux系統程序的建立,終止及程序前後臺切換

人生不易,生活無趣,一起找點樂子吧。歡迎評論,和文章無關的也可以。     程序是作業系統中程式執行的基本單位,在作業系統中,程序的相關描述由 3 個部分組成:程序控制塊(Process Control Block,PCB)、有關程式段和該程式段對其進行操作的資料

Linux程序前後臺切換

ps命令  要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,ps命令就是最基本程序檢視命令。使用該命令可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有殭屍、哪些程序佔用了過多的資源等等.總之大部分資訊都是可以通過執行該命令得到。ps是顯示瞬間程序的狀

Linux中進程在前後臺切換

temp emp etc linux one stop tar 命令執行 切換 把進程放入後臺執行   tar -zcf etc.tar.gz /etc &把進程放入後臺暫停   在命令執行的過程中,按下ctrl+z 查看後臺的命令   jobs[[email

Linux前後臺執行命令及切換

一:Linux執行命令   一 後臺執行     關閉當前終端也可以執行     ① & 命令:加在最後一個命令的最後,可以把這個命令放在後臺執行;     ② nohup命令:不掛斷的執行命令  

網易公開課《Linux核心分析》學習心得-理解程序排程時機跟蹤分析程序排程與程序切換的過程

首先在核心程式碼中搜索schedule,發現以下結果 在core.c檔案中是 實驗 設定斷點 跟蹤schedule的程序 可以看到 struct task_struct *tsk = current; sched_subm

[轉]Linux任務前後臺切換

[轉]Shell支援作用控制,有以下命令實現前後臺切換:   1. command& 讓程序在後臺執行   2. jobs 檢視後臺執行的程序   3. fg %n 讓後臺執行的程序n到前臺來   4. bg %n 讓程序n到後臺去   5.

初學Linux程序排程與程序切換過程

孫業毅 原創作品 轉載請註明出處 第八講 程序的切換和系統的一般執行過程 @2015.04 一、理論知識 Linux系統的一般執行過程 最一般的情況:正在執行的使用者態程序X切換到執行使用者態程序Y的過程 1. 正在執行的使用者態程序X 2. 發生中斷——sa

Linux下的程序1——程序概念,程序切換,上下文切換,虛擬地址空間

程序概述   當一個可執行程式在現代系統上執行時,作業系統會提供一種假象——好像系統上只有這個程式在執行,看上去只有這個程式在使用處理器,主存和IO裝置。   處理器看上去就像在不間斷的一條接一條的執行程式中的指令,即改程式的程式碼和資料是系統儲存器中唯一的

linux 前後臺切換

1、在Linux終端執行命令的時候,在命令末尾加上 & 符號,就可以讓程式在後臺執行 [email protected]$ ./tcpserv01 & 2、如果程式正在前臺執行,可以使用 Ctrl+z 選項把程式暫停,然後用 bg %[nu

[Ubuntu] fg、bg讓你的程序前後臺之間切換

Linux下的fg和bg命令是程序的前後臺排程命令,即將指定號碼(非程序號)的命令程序放到前臺或後臺執行。比如一個需要長時間執行的命令,我們就希望把它放入後臺,這樣就不會阻塞當前的操作;而一些服務型的命令程序我們則希望能把它們長期運行於後臺。 程序前後臺操作用到以下命令或按

linux-程序切換,使用者態程序,核心態程序

一開始我並不想寫這個筆記,因為太過複雜,我一直想以簡單的方式理解核心,只從概念,避免涉及過多的程式碼。實際上,我寫筆記的時候,書已經看到很後面了,因為總要理解更多才能理解之前看似簡短實際複雜的內容。但最後發現實際上任何內容都沒有辦法跳過,即便不想看,也需要了解基本的概念,所以依舊不會拿大段程式碼,但總會拿少

linux程序切換程序上下文,thread_union資料結構(task_union V0.11)

程序是作業系統中很重要的一個抽象,是對程式的一次執行例項的抽象。每個程序執行在自己的上下中,其上下文包括被程序正文所定義的程序狀態、程序的全域性使用者變數和資料結構、它使用的暫存器的值、儲存在它的程序表項的值以及它的使用者棧和核心棧的內容。當出現執行中程序發生中斷或異常核心

第8節 理解程序排程時機跟蹤分析程序排程與程序切換的過程【Linux核心分析】

一、實驗要求 分析並理解Linux中程序排程與程序切換過程,仔細分析程序的排程時機、switch_to及對應的堆疊狀態。需要總結並闡明自己對“Linux系統一般執行過程”的理解 二、實驗內容 理解Linux系統中程序排程的時機,可以在核心程式

linux程序切換和TSS結構

     TSS 全稱為task state segment,是指在作業系統程序管理的過程中,程序切換時的任務現場資訊。          X86體系從硬體上支援任務間的切換。為此目的,它增設了一個新段

分析linux程序排程與程序切換

慕課18原創作品轉載請註明出處 + 《Linux核心分析》MOOC課程http://mooc.study.163.com/course/USTC-1000029000 一、Linux程序排程時機主要有: (1)主動排程: 程序的執行狀態發生變化時,例如等待某些事件而

linux程序切換(linux3.4.5,x86)

引言 本文描述linux x86的程序切換實現原理,敘述了暫存器、堆疊的備份與恢復操作。 Intel設計的意圖是通過硬體方式切換程序,但是linux並沒有使用這種方式,而是使用了軟體方式,文章對這兩種方式分別做了描述。 一、選擇硬體切換還是軟體切換? x86提供硬體切換

Linux程序排程與程序切換

Linux程序排程與程序切換 在這篇部落格裡,我們將分析在Linux中程序是如何排程和切換的。程序切換需要進行程序上下文進行排程,注意中斷也會有中斷上下文,這個跟程序上下文還有有一定區別的,中斷上下文,還是在同一個程序,不過程序上下文就是在不同程序了。下面

【原創】(三)Linux程序排程器-程序切換

背景 Read the fucking source code! --By 魯迅 A picture is worth a thousand words. --By 高爾基 說明: Kernel版本:4.14 ARM64處理器,Contex-A53,雙核 使用工具:Source Insight 3.5,

Linux Shell 程序調試

linux shell 程序調試Linux Shell 程序調試 Shell程序的調試是通過運行程序時加入相關調試選項或在腳本程序中加入相關語句,讓shell程序在執行過程中顯示出一些可供參考的“調試信息”。當然,用戶也可以在shell程序中的適當位置加入一些echo命令用於調試與跟蹤。 方法一:在運行腳