shell 使用 &和wait 實現併發任務
例項:順序執行指令碼
in_concurrence.sh
#!/bin/bash
echo "current date: `date`"
for i in `seq 100 110`
do echo "sleep 1"
sleep 1
done
echo "current date: `date`"
執行結果:
current date: 2023年 6月29日 星期六 08時19分22秒 cst
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
current date: 2023年 6月29日 星期六 08時19分33秒 cst
併發執行指令碼
concurrence.sh
#!/bin/bash
echo "current date: `date`"
for i in `seq 100 110`
do &
done
wait
echo "current date: `date`"
執行結果:
current date: 2023年 6月29日 星期六 08時25分02秒 cst
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
current date: 2023年 6月29日 星期六 08時25分03秒 cst
參考:linux shell 多執行緒執行程式 併發 併發任務單元
go func s string hello go 語言寫併發非常容易,因為所有的使用者 都是放在併發裡執行的,包括 main 入口函式所有的函式都處在併發單元上執行。併發任務單元稱之為 goroutine。當我們執行 go 指令的時候,實際上它會建立乙個併發任務,函式名字或者指標加上引數打包建立乙...
轉 Shell指令碼中的多工併發執行
感謝yttitan 正常情況下,shell指令碼中的命令是序列執行的,當一條命令執行完才會執行接下來的命令。比如下面這段 bin bash for i in do echo i done echo end 執行結果 123 4567 8910end bin bash for i in do ip 1...
shell 任務執行
任務執行 方式 unix linux下一般想讓某個程式在後台執行,很多都是使用 在程式結尾來讓程式自動執行。比如我們要執行mysql在後台 usr local mysql bin mysqld safe user mysql nohup問題 但是有時候在這一步會有問題,當把終端關閉後,程序會自動被關...