亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 按時間并行執(zhí)行多個程序 [打印本頁]

作者: 夏洛特貓    時間: 2016-05-26 08:03
標(biāo)題: 按時間并行執(zhí)行多個程序
本帖最后由 夏洛特貓 于 2016-05-26 09:43 編輯

在這里先謝謝前輩們的指點  ,話不多說,問題描述如下:              
    有N個腳本(要運行的程序個數(shù)為可變量),需要設(shè)置一個新的啟動腳本,當(dāng)運行啟動腳本時候,每個腳本按照設(shè)定的sleep時間,只要時間到了就分別執(zhí)行對應(yīng)的程序。


    實例:可運行程序為3個,第一個程序為 echo "laste",第二個腳本為echo "first",第三個腳本為echo"second"
        
            當(dāng)運行啟動腳本時,12s的時候執(zhí)行第一個腳本,5s的時候執(zhí)行第二個腳本,10s時候執(zhí)行第三個腳本(這里的執(zhí)行時間是可變的)


--------------------------------------------------------------------------------------------------------------------------------------------------------------
我的實現(xiàn)方法比較笨,如下,希望大家給些優(yōu)化和指點和提供些更簡單的思路和實現(xiàn)方法,多謝了                               
        
針對給的腳本我寫了四個腳本,第四個為啟動腳本。
1.sh
sleep 12
echo "laste"


2.sh
sleep 5
echo "first"


3.sh
sleep 10
echo "second"


4.sh
1.sh & 2.sh &3.sh  
-----------------------------------------------------------------------------------------------------------------------------------------------------------------                        
顯示結(jié)果如下:
first
second
/home/L#laste
光標(biāo)                        (需回車才可以跳出,不知道為什么會這樣,當(dāng)?shù)谝荒_本排在第一個和第二顯示則不會出現(xiàn)這種狀況,還希望前輩們告訴下原因,多謝了)
作者: Riet    時間: 2016-05-26 09:25
我感覺是因為你4.sh里面 把其他三個腳本放在后臺執(zhí)行的原因。
如果你不需要回車跳出你可以這樣
#!/bin/bash
./1.sh &
./2.sh &
./3.sh &
wait
作者: 夏洛特貓    時間: 2016-05-26 09:42
多謝您的幫助 ,可以執(zhí)行完直接跳出了 回復(fù) 2# Riet


   
作者: ly5066113    時間: 2016-05-26 10:01
回復(fù) 1# 夏洛特貓


try:
  1. #! /bin/bash

  2. second=(12 5 10)
  3. script=(1.sh 2.sh 3.sh)

  4. l=${#second[@]}
  5. t=1
  6. n=$l

  7. while [ $n -gt 0 ]
  8. do
  9.         sleep 1
  10.         for((i=0;i<l;i++))
  11.         do
  12.                 if [ "${second[$i]}" = $t ]
  13.                 then
  14.                         ${script[$i]} &
  15.                         unset second[$i]
  16.                 fi
  17.         done
  18.         let t=t+1
  19.         n=${#second[@]}
  20. done

  21. wait
復(fù)制代碼

作者: 夏洛特貓    時間: 2016-05-26 10:28
非常感謝,把輸入的變量看成數(shù)組,之后對存在的數(shù)組一次做循環(huán)的思路我沒想到,thanks~   回復(fù) 4# ly5066113


   




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2