目錄用法
說明sh test.sh &
將指令碼放在後台執行(常用方法)
crtl + c
停止執行當前任務或指令碼
crtl + z
暫停執行當前任務或指令碼
bg
把當前任務或指令碼放到後台執行,此處可以理解為background
fg
把當前指令碼或任務放到前台執行,如果有多個任務,可以使用fg加任務編號調出對應的指令碼任務,
如fg 2,是指調出第二個指令碼任務,fg可以理解為fontground
jobs
檢視當前正在執行的指令碼或任務
kill
關閉執行的指令碼任務,即以kill % 任務編號
的形式關閉指令碼,此處的任務編號,可以通過jobs得到
現有測試指令碼test.sh與demo.sh:
[qinys@localhost 20200313]$ cat test.sh
#/bin/bash
i=10
while ((i>0))
do echo "$i" >> log.txt
sleep 1
((i--))
done
[qinys@localhost 20200313]$ cat demo.sh
#/bin/bash
i=40
while ((i>0))
do echo "$i" >> demo.txt
sleep 1
((i--))
done
(1)演示案例一:&與ctrl+c
[qinys@localhost 20200313]$ sh test.sh & # 後台執行指令碼
[1] 47930
[qinys@localhost 20200313]$ fg # 執行fg將指令碼放到前台執行
sh test.sh
^c # 按ctrl+c 停止執行指令碼
(2)演示案例二:fg與jobs、ctrl+z
[qinys@localhost 20200313]$ sh test.sh &
[1] 47982
[qinys@localhost 20200313]$ sh demo.sh &
[2] 47988
[qinys@localhost 20200313]$ jobs # 檢視正在執行的指令碼任務
[1]- running sh test.sh &
[2]+ running sh demo.sh &
[qinys@localhost 20200313]$ fg 2 # 使用fg加jobs輸出中任務編號調出對應編號的指令碼到前台執行
sh demo.sh
^z # ctrl + z 臨時暫停執行指令碼,臨時暫停的指令碼如果需要回覆執行,則先使用jobs檢視掛起的任務編號,然後使用【fg 任務編號】即可繼續執行
[2]+ stopped sh demo.sh
(3)演示案例三:kill
[qinys@localhost 20200313]$ sh test.sh &
[1] 48231
[qinys@localhost 20200313]$ sh demo.sh &
[2] 48239
[qinys@localhost 20200313]$ jobs
[1]- running sh test.sh &
[2]+ running sh demo.sh &
[qinys@localhost 20200313]$ kill %2 # 殺死任務
[qinys@localhost 20200313]$ jobs
[1]- running sh test.sh &
[2]+ terminated sh demo.sh
後台執行shell指令碼
執行方式 nohup sh export data.sh 20150102 20150102.log 2 1 1 29531 其中 0 1 2分別代表如下含義 0 stdin standard input 1 stdout standard output 2 stderr standard erro...
shell指令碼 後台執行命令
crontab at和nohup cron 系統排程程序。可以使用它在每天的非高峰負荷時間段執行作業,或在一周或一月 中的不同時段執行。at at命令。使用它在乙個特定的時間執行一些特殊的作業,或在晚一些的非負荷高峰時 間段或高峰負荷時間段執行。使用它在後台執行乙個占用時間不長的程序。nohup 使...
怎麼在後台執行shell指令碼
執行指令碼test.sh test.sh中斷指令碼test.sh ctrl c在1的基礎上將執行中的test.sh,切換到後台並暫停 ctrl z執行ctrl z後,test.sh在後台是暫停狀態 stopped 使用命令 bg number讓其在後台開始執行 number 是使用jobs命令查到的...