shell 併發任務

2021-09-24 20:24:36 字數 1095 閱讀 7728

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問題 但是有時候在這一步會有問題,當把終端關閉後,程序會自動被關...