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

個人博客首頁(點擊查看詳情)-- https://blog.51cto.com/11495268
    

1、簡介

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

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

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

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

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

2、後臺進程 創建

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 再次掛起該進程
    

3、後臺進程 管理

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

    

4、後臺進程 運行

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

    

5、後臺進程 關閉

## 關閉 進程
## kill -signal %{jobnumber}
## kill -9 %{num}

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章