Linux下使用脚本让程序顺序启动
1 需求描述
- 实现一个脚本,使程序启动;
- 脚本能够控制程序的启动顺序,即先启动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
作者QQ:115124903,欢迎交流。
每一步踏出,都是一次探索,一次成长。
每一步踏出,都是一次探索,一次成长。