Linux 後台執行指令碼

2021-09-06 15:49:18 字數 1116 閱讀 8814

後台執行命令示例

nohup php artisan tmp:*** >> ***.log &

如何執行.sh檔案

直接用./sh 檔案就可以執行,但是如果想後台執行,即使關閉當前的終端也可以執行的話,需要nohup命令和&命令。

&功能:加在乙個命令的最後,可以把這個命令放在後台執行

nohup

功能:不結束通話的執行命令

有兩個命令可以用,jobsps,區別是

jobs用於檢視當前終端後台執行的任務,換了終端就看不到了。

ps命令用於檢視瞬間程序的動態,可以看到別的終端執行的後台程序。

jobs命令

功能:檢視當前終端後台執行的任務

jobs -l選項可顯示當前終端所有任務的pid,

jobs的狀態可以是running,stopped,terminated。

+號表示當前任務

-號表示後乙個任務。

ps命令

功能:檢視當前的所有程序

ps -aux | grep 「test.sh」

a:顯示所有程式

u:以使用者為主的格式來顯示

x:顯示所有程式,不以終端機來區分

關閉當前後台執行的命令

kill命令:結束程序

通過jobs命令檢視jobnum,然後執行 kill %jobnum

通過ps命令檢視程序號pid,然後執行 kill %pid

如果是前台程序的話,直接執行 ctrl+c 就可以終止了

前後臺程序的切換與控制

fg命令

功能:將後台中的命令調至前台繼續執行

如果後台中有多個命令,可以先用jobs檢視jobnun,然後用 fg %jobnum 將選中的命令調出。

ctrl + z 命令

功能:將乙個正在前台執行的命令放到後台,並且處於暫停狀態

bg命令

功能:將乙個在後台暫停的命令,變成在後台繼續執行

如果後台中有多個命令,可以先用jobs檢視jobnum,然後用 bg %jobnum 將選中的命令調出繼續執行。

後台執行指令碼

需求分析 我們經常會遇到乙個問題,當使用ssh遠端登入linux伺服器執行一些耗時較長的任務,當使用者登出或者網路斷開時,終端會收到hup hangup 訊號從而關閉其所有子程序。解決辦法 linux中,可以使用nohup將指令碼放置在後台執行,其命令如下 nohup python spider.p...

Linux執行指令碼

首先指令碼需要有執行許可權 chmod u x file.sh 執行指令碼有三種方法 1.file.sh 特點 開啟bash子程序來執行,也就是開啟額外的程序來進行,不影響原程序的變數 配置等 2.bash file.sh 特點 和.file.sh相同 3.source file.sh 或者 fil...

linux執行指令碼

linux下開機以某乙個使用者執行指令碼 etc rc.local新增想要被執行的命令即可 預設是以root使用者執行 2 以期望的使用者執行命令 su c ls l myfile.txt guowei 解釋 其中需要被執行的命令是 ls l myfile.txt 期望的使用者的 guowei,表示...