linux 任務管理-後台運行與終止
fg、bg、jobs、&、ctrl + z命令
一、 &
加在一個命令的最後,可以把這個命令放到後台執行 ,如gftp &,
二、ctrl + z
可以將一個正在前台執行的命令放到後台,並且處於暫停狀態,不可執行
三、jobs
查看當前有多少在後台運行的命令
jobs
-l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped,
Terminated,但是如果任務被終止了(kill),shell
從當前的shell環境已知的列表中刪除任務的進程標識;也就是說,jobs命令顯示的是當前shell環境中所起的後台正在運行或者被掛起的任務信息;
四、fg
將後台中的命令調至前台繼續運行
如果後台中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)
五、bg
將一個在後台暫停的命令,變成繼續執行 (在後台執行)
如果後台中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)
將任務轉移到後台運行:
先ctrl + z;再bg,這樣進程就被移到後台運行,終端還能繼續接受命令。
概念:當前任務
如
果後台的任務號有2個,[1],[2];如果當第一個後台任務順利執行完畢,第二個後台任務還在執行中時,當前任務便會自動變成後台任務號碼「[2]」
的後台任務。所以可以得出一點,即當前任務是會變動的。當用戶輸入「fg」、「bg」和「stop」等命令時,如果不加任何引號,則所變動的均是當前任務
進程的終止
後台進程的終止:
方法一:
通過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利用VFS截獲系統調用時的問題
除了提示「已殺來死」之外,就自沒有其他提示了么(dmesg),現在不知道是卡在哪一步了,如果內核檢出異常,應該有提示。
你可以在各操作步驟前後加一些printk,來檢測運行的過程,可能調用內核open的時候就已經失敗了。
我對文件系統不太了解,希望能有點幫助。
Ⅲ 本人在linux下寫了一個程序,程序運行之後,一段時間,終端提示「已殺死
我也面臨同樣的問題,我以前運行這個程序就不會顯示被殺死,但是近來一段時間總是顯示被殺死,殺死後,又反復運行幾次變好了,不知道你解決了嗎
Ⅳ 怎樣在linux上復活已殺死的進程
首先用Vista安裝盤引導系統(ghost版的安裝盤不行,深度精簡版的XP也不行)根據提示按R進入故障恢復控回制台答,依次輸入1(XP的安裝盤符)管理員密碼(沒就直接回車)
在C:windows>下輸入fixboot根據提示輸入y
在C:windows>下輸入fixmbr根據提示輸入y
在C:windows>下輸入exit就可以了
這樣就成功的修復了Vista的引導菜單了。
Ⅳ linux里執行了個ls命令後,提示已殺死,這個殺死是將ls命令里那個目錄文件殺死了嗎這個會有什麼問題沒
正常情況下執行ls,不會提示「已殺死」,請確認執行的是否是ls的命令。
執行以下命令,確認是否存在別名。
# which ls
Ⅵ linux中怎麼終止正在運行的進程
Linux中終止一個正在運行運行的進程最常用的是kill命令,它是用進程PID作為參數回來殺死進程。那如何答獲得指定進程的PID呢?用pidof命令啊。比如獲取syslogd進程PID的命令是:pidof syslogd。知道了進程PID,就可以用kill命令終止它了:
kill -9 PID號碼
或者kill -2 PID號碼
-9參數是強制結束進程,而-2參數是相當於用鍵盤組合鍵Ctrl+C的方式正常結束進程,兩種方式可以根據進程的運行情況來用。
終止進程還可以選擇killall命令,顧名思義就是殺死所有以某個命令啟動的所有進程(以殺死httpd命令啟動的所有進程為例):
killall -9 httpd
Ⅶ linux 下執行ls命令,顯示 :已殺死 是什麼意思
Linux LS命令抄詳細介紹襲
2009/09/24 15:54 [未分類 ]
ls
ls 命令可以說是linux下最常用的命令之一。它有眾多的選項,其中有很多是很有用的,你是否熟悉呢?下面列出了 ls 命令的絕大多數選項。
-a 列出目錄下的所有文件,包括以 . 開頭的隱含文件。
-b 把文件名中不可輸出的字元用反斜杠加字元編號(就象在C語言里一樣)的形式列出。
-c 輸出文件的 i 節點的修改時間,並以此排序。
-d 將目錄象文件一樣顯示,而不是顯示其下的文件。
-e 輸出時間的全部信息,而不是輸出簡略信息。
-f -U 對輸出的文件不排序。
-g 無用。
-i 輸出文件的 i 節點的索引信息。
-k 以 k 位元組的形式表示文件的大小。
-l 列出文件的詳細信息。
-m 橫向輸出文件名,並以「,」作分格符。
-n 用?