我需要一个能够根据计划/配置启动一组流程的程序;该程序将在后台运行,并在它们崩溃时重新启动进程。
在windows和unix上都有这类任务的标准工具 - 我需要的是一个可以在不同操作系统上使用相同配置运行的跨平台程序。
任何实现基本功能的便携式C / C ++库(即创建进程,信号进程终止事件等)都可以。
答案 0 :(得分:0)
如何在所有这些平台上安装ssh servers并通过每个平台自己的命令行工具处理进程的启动/停止?
为了能够在没有提示认证的情况下进行访问,我将使用不带密码的非对称密钥认证,因此可以立即从控制机器访问所有托管的主机。
所以我的解决方案是一个由一堆脚本(.bat或.sh或你想要的任何脚本语言)和几个ssh服务器组成的自制解决方案。
答案 1 :(得分:0)
如果您愿意以Unix为中心,Cygwin会附带一个 cron 版本,可以在Windows上作为服务运行。然后,您可以在您的平台上使用通用的crontab
文件。请参阅http://www.noah.org/ssh/cygwin-crond.html。
答案 2 :(得分:0)
你可能不得不自己写。它有很多狡猾的便携性,没有(真正的)光荣目的......即通过其他方式完成一些可以完成的工作。
在* nix,* bsd和MacOS上运行的东西不会太难。制作/生成解析器以处理某种基于规则的简单配置文件并不会太难。添加最终的Windows香料混合将是后方的皇家痛苦。然后你去学习一些新的基于Python的构建配置系统,因为不是每个Windows用户都有cygwin和一个shell ...然后你去寻找帮助你找到bug的人。
几百个小时后,你会开始怀疑这是否值得写作。在2-3小时内,您可以使用cygwin,ssh和一些方便的shell脚本来完成这项工作。
据说大多数真正有用的程序都是程序员抓住个人痒的直接结果。所以..如果这是你真正需要的并且有时间做的事情,我会说去吧。当然,它会变得相当受欢迎。除此之外,由于上述原因,我怀疑这样的程序在未来一段时间内仍然是不成文的。
答案 3 :(得分:0)
Golang中的cron实现怎么样?
https://godoc.org/github.com/robfig/cron
它是跨平台,并在您需要时发出命令。它作为一个小的可执行文件分发。没有必要的依赖。它允许你添加crons,但有趣的是,删除不是内置的。