你好,我有一个apache服务器运行在我的Windows10PC上的xampp和一个RaspberryPi连接到它的脚本。脚本检查ist服务器是否在特定端口上可用,如果ist可用,启动浏览器,如果服务器不再可用,则关闭浏览器。这是我的剧本:
#!/bin/bash
### BEGIN INIT INFO
# Provides: browerstartup.sh
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# X-Start-Before:
# X-Stop-After:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive:
# Short-Description: If connection available, connecT!
# Description: If connection is available on port 80: Then connect.
### END INIT INFO
server="192.168.16.74"
sleep=10
while [ true ] ; do
echo "Script start" >> /home/pi/browserlog
midori=$(pgrep "midori")
nc -w 5 -z $server 80 >/dev/null 2>&1
if [ $? -ne 0 ] ; then
echo "Server isnt running!" >> /home/pi/browserlog
if [ $midori ] ; then
echo "Midori is still running but server is offline: Killing midori"
kill $midori
fi
else
echo "Server is running!" >> /home/pi/browserlog
if ! [ $midori ] ; then
echo "Starting midori" >> /home/pi/browserlog
midori -e Fullscreen -a http://$server/Website/t1&
fi
fi
echo "Sleep $sleep" >> /home/pi/browserlog
sleep $sleep
done第一次启动and服务器时,它连接并启动midori,如果停止and服务器,则关闭midori。但是如果我再次启动网络服务器,它就不再启动midori了,我也不知道为什么.
这是我的browserlog文件:
Script start
Server is running!
Starting midori
Sleep 10
Script start
Server is running!
Starting midori
Sleep 10
Script start
Server is running!
Starting midori
Sleep 10
Script start
Server is running!
Starting midori
Sleep 10
Script start
Server is running!
Starting midori
Sleep 10
Script start
Server is running!
Starting midori
Sleep 10
Script start
Server is running!
Starting midori
Sleep 10
Script start
Server is running!
Starting midori
Sleep 10
Script start
Server is running!
Starting midori
Sleep 10
Script start
Server is running!
Starting midori
Sleep 10
Script start
Server is running!
Starting midori
Sleep 10
Script start这里我手动停止了脚本!
也许你能帮我..。
发布于 2016-12-06 11:22:51
我安装了midori并为您编写了一个新脚本:)
#!/bin/bash
### BEGIN INIT INFO
# Provides: browerstartup.sh
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# X-Start-Before:
# X-Stop-After:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive:
# Short-Description: If connection available, connecT!
# Description: If connection is available on port 80: Then connect.
### END INIT INFO
ssl_activated=0
server="192.168.16.74"
sleep=10
log_path="/home/pi/browserlog"
browser="midori"
if [ "${ssl_activated}" -eq 1 ]; then
parameters="-a https://${server}/Website/t1&"
else
parameters="-a http://${server}/Website/t1&"
fi
browser_pid=""
#Optional, initialize log
rm -rf "${log_path}" >/dev/null 2>&1
echo "Script start" > "${log_path}"
while true; do
echo "Loop start, checking server..." >> "${log_path}"
nc -w 5 -z ${server} 80 >/dev/null 2>&1
if [ $? -ne 0 ] ; then
echo "Server isnt running!" >> "${log_path}"
if [ -n "${browser_pid}" ]; then
echo "There is a browser, let's kill it!" >> "${log_path}"
kill "${browser_pid}" &> /dev/null
fi
else
echo "Server is running!" >> "${log_path}"
browser_pid=$(pgrep midori)
if [ -n "${browser_pid}" ]; then
echo "Midori is running and server is online" >> "${log_path}"
else
echo "Server is online but midori is not running, starting it!" >> "${log_path}"
eval "${browser} ${parameters} >/dev/null 2>&1 &"
browser_pid=$!
fi
fi
echo "Sleep ${sleep}" >> "${log_path}"
sleep ${sleep}
donehttps://stackoverflow.com/questions/40930507
复制相似问题