首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写一个在后台运行并检查连接的bash文件?

编写一个在后台运行并检查连接的bash文件?
EN

Stack Overflow用户
提问于 2016-09-15 14:54:15
回答 1查看 498关注 0票数 0

我必须解决我的公司的一个问题,那就是我们使用基于Raspbian(unix)的Raspberry Pi机器来远程连接到Windows7机器并在那里工作。问题是,所有易于使用的、免费的、基于unix的rdesktop应用程序都不能处理断开连接。他们僵住了,“不太有才华”的员工不知道如何停止rdesktop并重新连接。

我需要编写一些东西,最好是一个bash应用程序,它可以在Raspberry上的后台运行并检查连接。如果连接断开,它应该杀死rdesktop,并在连接恢复时启动一个新的rdesktop。我不知道从哪里开始,因为虽然我找到了一些例子,但他们都使用ping检查连接,但我的老板说,所有一直发送ping数据包的树莓都会使我们的网关超载。有没有一种不用ping就能检查连接的方法?

EN

回答 1

Stack Overflow用户

发布于 2016-09-16 20:50:20

解决这个问题的一种方法是创建一个守护进程,该守护进程不断地检查到主机的连接。

使用这种方法需要创建两个文件

pings主机/usr/local/bin/checkconnection.sh

  • the守护进程文件/etc/init.d/checkconnectiond

  • 脚本

创建守护程序文件:

$ sudo touch /etc/init.d/checkconnectiond $ sudo nano /etc/init.d/checkconnectiond

并粘贴以下内容:

代码语言:javascript
复制
# !/bin/sh
# /etc/init.d/checkconnectiond

### BEGIN INIT INFO
# Provides:             checkconnectiond
# Required-Start:       $remote_fs $syslog
# Required-Stop:        $remote_fs $syslog
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Script for checking connection for remote desktop
# Description:          Script for checking connection for remote desktop
### END INIT INFO

case "$1" in
    start)
        while sleep 30; do (/usr/local/bin/checkconnection.sh &) ; done
        ;;
    stop)
        killall checkconnectiond -q
        ;;
    *)
      echo "Usage: /etc/init.d/checkconnectiond {start|stop}"
      exit 1
      ;;
esac

exit 0

创建脚本:

$ sudo nano /usr/local/bin/checkconnection.sh

脚本:

代码语言:javascript
复制
if ping -c 1 host_ip &> /dev/null
then
  # do nothing, host is up
else
  killall remotedesktop-pid
fi

记住要更改host_ipremotedesktop-pid。您可以在使用killall时使用进程名,因此如果它名为"rdp“,则可以执行killall rdp

现在我们有了一个守护进程,它将在引导树莓时自动启动。这个守护进程每30秒运行一次checkconnection.shcheckconnection.sh脚本对主机运行ping命令。如果ping不成功,它将杀死远程桌面进程,因此用户必须手动重新启动它。

资料来源:

之前我为覆盆子项目编写了守护进程脚本

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39504730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档