shell中等待其他程式執行完畢

2021-07-10 13:16:57 字數 689 閱讀 5487

有時候,該shell指令碼需要等到另乙個shell指令碼 或 程式執行完畢之後,才開始執行。

提供一種方法:

檢視 前序 指令碼或程式 的程序是否已經執行結束:

#如果有程式在make,則等待make結束

cnt=`ps -ef|grep "make"|grep "all"|grep -v grep|grep -v vi|wc -l`

echo $cnt

dowhile [ $cnt -nq 0 ]

then

cnt=`ps -ef|grep "make"|grep "all"|grep -v grep|grep -v vi|wc -l`

echo $cnt

sleep 5

done

#如果前序 指令碼或程式 正在執行,則等待5s

count=`ps -ef|grep shell.sh|grep -v grep|grep -v vi|wc -l`

echo $count

do   

while [ $count-nq 0 ]

then

count=`ps -ef|grep shell.sh|grep -v grep|grep -v vi|wc -l`

echo $count

sleep 5

done

#這下面可以寫 要執行的 後續shell了

shell程式的執行

編輯完該檔案之後不能立即執行該檔案,需給檔案設定可執行程式許可權。使用如下命令。root localhost bin chmod x date 執行shell程式有下面三種方法 方法一 root localhost bin date mr.root,today is 三月 30 星期一 wish y...

用其他身份執行程式

此函式可用於暴力破解本地賬號密碼 createprocesswithlogonw函式 createprocesswithlogonw api的定義如下 bool createprocesswithlogonw lpcwstr 使用者乙的賬號 account lpcwstr 使用者乙的域 domain...

程式中執行其他可執行檔案

例如 system del c jk.txt system 函式中可以直接執行dos命令,執行相應操作。ex winexec notepad.exe c autoexec.bat sw show 執行 notepad.exe 開啟目錄下批處理檔案,並正常顯示 ex winexec notepad.e...