CLI的wait子命令阻塞等待狀態更新

2021-07-04 16:25:28 字數 1222 閱讀 3840

通常建立乙個spot請求或建立乙個instance比較費時,

建立命令完成後不能馬上執行ssh等命令。

aws的cli提供了乙個wait子命令來阻塞住命令,幫助指令碼的順序正常執行。

下面以建立乙個spot ec2例項為例子,演示wait的功能。

檢視spot**記錄

aws ec2 describe-spot-price-history --start-time $(date +"%y%m%dt%h0000") --product "linux/unix (amazon vpc)" --instance-type "m3.medium" --region us-east-1 --output table

建立spot請求

aws ec2 request-spot-instances --region us-east-1 --spot-price "0.010" --instance-count 1 --type "one-time" --launch-specification ""

等待請求被接受。由於使用了wait命令,直到接受,命令才會返回,否則一直阻塞

aws ec2 wait spot-instance-request-fulfilled --spot-instance-request-ids sir-******x --region us-east-1

根據請求獲得ec2例項的id

aws ec2 describe-spot-instance-requests --spot-instance-request-ids sir-******x  --region us-east-1

等待例項被建立完成。這一步很快會返回,但是還不能ssh連線,因為需要做初始化配置

aws ec2 wait instance-running --instance-ids  i-******x --region us-east-1

等待例項成為可訪問狀態。這一步大概需要等待2,3分鐘

aws ec2 wait instance-status-ok --instance-ids  i-******x --region us-east-1

等上一步完成,例項才算真正建立完成,能通過ssh或rdp連線上。

等待子程序結束wait 和waitpid

父子程序有時需要簡單的程序間同步,如父程序等待子程序的結束。linux提供了以下兩個等待函式 wait waitpid 需要包含標頭檔案 include include 1 pid t wait int status 功能 等待任一子程序終止,如果子程序終止了,此函式會 子程序的資源。呼叫wait函...

wait 函式父程序等待子程序退出

include include pid t wait int status pid t waitpid pid t pid,int status,int options include include pid t wait int status pid t waitpid pid t pid,int...

程序的等待 wait函式

wait函式 include include pid t wait int status 功能 等待子程序終止,如果子程序終止了,此函式會 子程序的資源。呼叫wait函式的程序會掛起,直到它的乙個子程序退出或收到乙個不能被忽視的訊號時才被喚醒。若呼叫程序沒有子程序或它的子程序已經結束,該函式立即返回...