Linux下使用腳本讓程序順序啓動

1 需求描述

  1. 實現一個腳本,使程序啓動;
  2. 腳本能夠控制程序的啓動順序,即先啓動A程序後,再啓動B程序。

2 實現思路

思路很簡單,先定義一個進程列表,確保進程關閉後再按照順序啓動compositor和客戶程序。

3 腳本實現

#!/bin/bash

FireMenuBarPath=/root/bunfly/QtPro/FireMenuBar/FireMenuBar
QuickUiPath=/root/bunfly/QtPro/QuickUi/QuickUi
CompositorPath=/root/qt-everywhere-src-5.12.3/qtwayland/examples/wayland/ivi-compositor/ivi-compositor

programs=(FireMenuBar QuickUi ivi-compositor)

#kill programs
for i in ${programs[@]}; do
  ps -ef | grep $i | grep -v grep | awk '{print $2}' | xargs kill -9
done

#check programs
for i in ${programs[@]}; do
  procnum=` ps -ef | grep "$i" | grep -v grep | wc -l`
  if [ $procnum -eq 1 ];then
    sleep 1
  fi
done

#start env
ivi=-1
while(($ivi < 0))
do  
  procnum=` ps -ef | grep "ivi-compositor" | grep -v grep | wc -l`  
if [ $procnum -eq 0 ];then
  fbset -fb /dev/fb0 -g 600 800 600 800 16
  $CompositorPath &
else
  QT_IVI_SURFACE_ID=1337 $FireMenuBarPath -platform wayland &
  $QuickUiPath -platform wayland &
  ivi=1	
fi  
  sleep 1  
done  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章