在linux後台執行指令碼的方法和命令

2021-09-29 20:18:43 字數 940 閱讀 2808

方法一:退出當前shell終端時,後台執行的test.sh也就結束

執行指令碼test.sh:./test.sh

中斷指令碼test.sh:ctrl+c

在1的基礎上將執行中的test.sh,切換到後台並暫停:ctrl+z

執行ctrl+z後,test.sh在後台是暫停狀態(stopped),使用命令:bg number讓其在後台開始執行(「number」是使用jobs命令查到的 [ ]中的數字,不是pid)

直接在後台執行指令碼test.sh:./test.sh &

檢視當前shell環境中已啟動的任務情況:jobs

將test.sh切換到前台執行:fg %number(」number」為使用jobs命令檢視到的 [ ] 中的數字,不是pid)

中斷後台執行的test.sh指令碼:先fg %number切換到前台,再ctrl+c;或是直接kill %number

方法二:退出當前shell終端時,後台執行的test.sh也不結束

不中斷的在後台執行test.sh:

nohup ./test.sh &

(test.sh的列印資訊會輸出到當前目錄下的nohup.out中)

使用jobs可看到test.sh處於running狀態

使用ps -ef |grep test.sh可檢視到正在執行的test.sh指令碼程序

退出當前shell終端,再重新開啟,使用jobs看不到正在執行的test.sh,但使用ps -ef可以看到

在後台不中斷的執行test.sh,可以使用nohup忽略hangup訊號,或者使用setsid將其父程序改為init程序(程序號為1)

不中斷的在後台執行test.sh另乙個命令:

setsid ./test.sh &

使用ps -ef |grep test.sh可看到test.sh程序的父程序id為1

Linux 後台執行指令碼

後台執行命令示例 nohup php artisan tmp log 如何執行.sh檔案 直接用.sh 檔案就可以執行,但是如果想後台執行,即使關閉當前的終端也可以執行的話,需要nohup命令和 命令。功能 加在乙個命令的最後,可以把這個命令放在後台執行 nohup 功能 不結束通話的執行命令 有兩...

在linux後台執行指令碼的方法和命令

2018年05月03日 18 15 55 執行指令碼test.sh test.sh中斷指令碼test.sh ctrl c在1的基礎上將執行中的test.sh,切換到後台並暫停 ctrl z執行ctrl z後,test.sh在後台是暫停狀態 stopped 使用命令 bg number讓其在後台開始執...

在linux後台執行指令碼的方法和命令

執行指令碼test.sh test.sh中斷指令碼test.sh ctrl c在1的基礎上將執行中的test.sh,切換到後台並暫停 ctrl z執行ctrl z後,test.sh在後台是暫停狀態 stopped 使用命令 bg number讓其在後台開始執行 number 是使用jobs命令查到的...