簡體   English   中英

Shell腳本執行順序

[英]Shell script execution Sequence

我想寫一個shell腳本

  1. 啟動一個過程,該過程從數據庫獲取數據並將其寫入文件(執行此操作的時間從5分鍾到數小時不等)
  2. 使用生成的文件中的數據並進行一些計算

我可以在Shell中使用什么命令來暫停執行我的第二部分之前的第一個過程,因為在寫入文件完成之前第二部分才應該開始執行?

好吧,您實際上不需要命令。 您的shell應該只是阻塞,直到生成的子項終止為止:

proc1
proc2 # <- will not be called until proc1 is done.

當您執行以下操作時,事情只會變得復雜:

proc1 &
proc2 # <- will start immediately after proc1 was launched

在這種情況下,您將必須wait ,就像Politank-Z指出的那樣:

proc1 &
wait
proc2

這真的沒有任何意義。


編輯:澄清之后

您必須先獲得一個進程來與您交流其子進程的ID,然后檢查該進程是否完成。 粗暴的嘗試將定期檢查

ps x | grep -v grep | grep "$spawnedPID"

(假設子進程不是grep命令本身)

我認為您正在尋找wait命令,但這取決於第1部分的啟動方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM