linux利用shell監聽某個程式是否完成

2021-10-11 18:05:27 字數 817 閱讀 1942

應用場景:希望檢測某個程式是否已經執行完成,一旦完成,則執行其他程式。

(1)首先通過ps u檢視當前使用者下的所有程式的程序,選擇你要監聽的程序號,比如9160。

注意:ps a是檢視當前使用者所執行的所有程式程序,不包括其他使用者;ps aux是檢視所有程序,包括其他使用者。

(2)編寫shell**,實現監聽

flag=1

result=1

while

["$flag" -eq 1 ]

dosleep 1s

pid=9160

pid_exist=

$(ps u |

awk''

|grep -w $pid)

if[!

$pid_exist];

then

echo

"process is finished"

flag=0

fidone

在此後新增希望執行的程式,比如bash..., python ...等等。

awk ''表示取出第二個字段,也就是程序號字段;

grep -w $pid表示精確匹配所需要監聽的程序號;

pid_exist表示匹配到就返回pid號,說明程式還在執行。匹配不到就沒有返回值,說明程式已經完成,退出迴圈。

Linux中Shell擷取某行某列資訊

背景 執行shell命令,抓取shell返回資訊中的所需資訊,已udhcpc為例獲取dns的位址。暫不作處理,執行udhcpc。使用grep過濾掉無用資訊,執行 udhcpc grep dns 使用sed抓取第二行,n 2p 代表第二行,n 1,3p 代表第一到三行,以回車換行符區分。執行 udhc...

vue中監聽頁面滾動和監聽某元素滾動

在生命週期 mounted 中進行監聽滾動 mounted 在方法中定義監聽滾動執行的方法 scrolltotop 注意 需要監聽的這個元素需要擁有固定的高度 在vue元件中 content scroll scrollevent div 在方法中定義scrolldiv,是監聽class為conten...

vue中監聽頁面滾動和監聽某元素滾動

監聽頁面滾動 在生命週期mounted中進行監聽滾動 mounted 在方法中定義監聽滾動執行的方法 scrolltotop 記得在離開當前路由解綁scroll事件 beforeroutele e to,form,next 監聽某元素滾動 需要監聽的這個元素需要擁有固定的高度 vue元件中 在方法中...