Linux下任務管理的命令

2021-09-27 08:51:24 字數 2823 閱讀 1640

前台:可以控制與執行命令的這個環境稱為前台的任務;

後台:可以自動執行的任務,無法用ctrl+c終止,可使用bg,fg呼叫該任務;

這個符號可以直接將任務丟到後台執行;

int

main()

return0;

}

乙個簡單的while迴圈我們嘗試將他丟入後台;

會出現[1] 13150這串數字是什麼意思呢?

這裡的[1]是乙個任務號碼,下乙個放入後台的就會是[2]以此類推;

當你重新開啟乙個終端時,在將乙個任務放入後台就會從[1]開始;

我們可以從pstree中看出一些原因:

我們可以看到執行在不同terminal下的程序是有著不同的父程序的;

13150就是這個程序的pid程序號;

#include

intmain()

我們來測試一下被放入後台的程式還能不能向螢幕輸出;

我們這裡會發現是可以的,但是有點奇怪;

隨意我們在這種帶有輸出的命令,程式在丟入後台執行時,可以加上重定向,將內容輸出到,別的檔案中;

./a.out > 1.txt &

執行上述命令後,他就不會顯示在螢幕上了,就會顯示在檔案中了;

對於在後台中執行完的任務,在執行完以後會告訴執行者,我執行完了,但是是在,執行下乙個命令時;

這裡我們可以看到,在我們執行完了cat命令以後會告訴我們剛剛丟入後台的程式已經執行完了;

後台可以執行scanf或者別的輸入嗎?

其實顯然是不能的…

這裡我們用事實說話

我們發現是不可以輸入的,而且在遇到輸入時,程序會變成停止狀態;

我們可以看到a.out這個程序狀態已經變成了t;

jobs命令是用來檢視目前的後台任務狀態的;

我們以下都用下面這個程式來作為示例:

我們開三個程序,第三個用ctrl+z停止;然後我們來看jobs命令

相比jobs多了程序號;

-r只顯示正在執行的程序;

jobs -s

-s只顯示停止的程序;

在後台執行或者停止的程序可以通過fg命令拿到前台執行,後台正在停止的程序,拿到前台後就變成了正在執行狀態;

我們還是要看這個圖,在第二列有乙個程序前面有個+,有乙個程序有個-;

這個加號和減號代表什麼意思呢?

這個其實在fg這裡有用途,fg拿出來的就是這個帶加號的程序;因為這裡都是a.out不太好辨認,所以我們編譯成1,2,3;

其實這裡我們可以看出來,帶加號的程序是最近乙個放入後台的程序;

我們看到這裡把任務編號為[3]的程序結束以後,[2]變成了加號;

fg 數字就能把後台編號為該數字的程序拿到前台來;

bg命令是可以把後台停止的任務變成在後台執行;和fg一樣,拿出帶加號的程序

Linux的程序和任務管理命令

linux的程序 1.檢視程序 ps命令 檢視靜態的程序統計資訊 processes statistic 語法 ps 選項 a 顯示當前終端下的所有程序資訊 u 使用以使用者為主的格式輸出程序資訊 x 顯示當前使用者為主的格式輸出程序資訊 e 顯示系統內的所有程序資訊 l 使用長格式顯示程序資訊 f...

Linux任務排程命令(輕鬆管理Linux)

linux任務排程其實就是讓系統在某個時間執行某些命令或者程式,這樣可以讓管理員更加輕鬆地管理自己的linux,當我剛了解到這個方法時,我的內心充滿了無盡的欣喜,感覺linux實在是太強大了。下面我就來具體的講講這個命令 一 任務排程分類 1.系統工作,有些重要的工作必須周而復始的執行,比如病毒掃瞄...

linux 任務管理

windows系統下,我們可以執行多個任務,但是在linux系統下,操作都是用命令列來執行,所以為了乙個終端能執行多個任務,就需要在單一終端下同時執行多個任務的操作管理.cp file1 file2 最簡單的就是用 在命令後面加上 可以把操作放到後台執行.如果出現 則代表任務已經執行完成 假如我們執...