Linux 系統進程 後臺管理(基本操做)

我的博客首頁(點擊查看詳情)-- https://blog.51cto.com/11495268
    前端

一、簡介

    系統進程 管理操做 是一項基本功,本文 主要描述 如何 後臺管理 進程服務(相關命令 暫時不會 詳解)
    shell

1.1 進程(基本概念 不詳細解釋)

    進程是程序在一個數據集合上的一次執行過程
    session

1.2 進程查看(查看命令 不詳細解釋)

    ps、pstree -- 靜態獲取進程信息
    top、htop -- 動態獲取進程信息
    ide

二、後臺進程 建立

2.1 &

## 將任務放到後臺 ,即便關閉xshell退出當前session依然繼續運行,但標準輸出和標準錯誤信息會丟失
# ./{可執行程序} &

    

2.2 nohup

## 將任務放到後臺,關閉標準輸入,前臺再也不可以接收任何輸入(標準輸入),重定向標準輸出和標準錯誤到當前目錄下的nohup.out文件,即便關閉xshell退出當前session依然繼續運行
# nohup ./{可執行程序} > {out_file}

    

2.3 nohup ... &

## 將任務放到後臺,可是依然可使用標準輸入,前臺可以接收任何輸入,重定向標準輸出和標準錯誤到當前目錄下的nohup.out文件,即便關閉xshell退出當前session依然繼續運行
# nohup ./{可執行程序}  > {out_file} 2>&1 &

    

2.4 ctrl-z( suspend foreground process )

    發送 SIGTSTP 信號給前臺進程組中的全部進程,經常使用於掛起一個進程,而並不是結束進程,用戶可使用使用fg/bg操做恢復執行前臺或後臺的進程;fg命令在前臺恢復執行被掛起的進程,此時可使用ctrl-z再次掛起該進程,bg命令在後臺恢復執行被掛起的進程,而此時將沒法使用ctrl-z 再次掛起該進程
    code

三、後臺進程 管理

3.1 後臺進程 查看

## jobs 只能查詢 當前 終端 後臺任務
## 一列顯示的爲被放置後臺 job 的編號
## 第二列的 + 表示最近(剛剛、最後)被放置後臺的 job
## - 表示倒數第二(也就是在預設以前的一個)被放置後臺的工做
## 最後一列表示該進程執行的命令
# jobs 
[1]   Running                 nohup ./test.sh > wl_nohup1 2>&1 &
[2]   Running                 nohup ./test.sh > wl_nohup2 2>&1 &
[3]   Running                 nohup ./test.sh > wl_nohup3 2>&1 &
[4]   Running                 nohup ./test.sh > wl_nohup4 2>&1 &
[5]   Running                 nohup ./test.sh > wl_nohup5 2>&1 &
[6]-  Running                 nohup ./test.sh > wl_nohup6 2>&1 &
[7]+  Stopped                 ./test.sh

    

3.2 後臺進程 終端運行

## 將後臺進程 放置 前端終端執行
## fg %{num}
## fg [%jobnumber]
# fg %7
./test.sh
... ...
^Z
[7]+  Stopped                 ./test.sh

    

四、後臺進程 運行

## 後臺 繼續 運行
## num 爲 jobs 進程對應的 序列號
## bg [%jobnumber]
# bg %{num}

    

五、後臺進程 關閉

## 關閉 進程
## kill -signal %{jobnumber}
## kill -9 %{num}
相關文章
相關標籤/搜索