我正在用 linux 命令行应用程序替换 Windows 应用程序。它应该输出简单的统计数据,以便用户可以检查应用程序是否处于活动状态。
在 Windows 中,它 24/7 全天候运行,您可以通过 RDP 连接到桌面并查看控制台窗口中发生的情况。
我怎样才能在 linux (CentOS) 上达到同样的效果?
应用程序绝不能被中断 - 它必须尽可能长时间地保持运行
我正在用 linux 命令行应用程序替换 Windows 应用程序。它应该输出简单的统计数据,以便用户可以检查应用程序是否处于活动状态。
在 Windows 中,它 24/7 全天候运行,您可以通过 RDP 连接到桌面并查看控制台窗口中发生的情况。
我怎样才能在 linux (CentOS) 上达到同样的效果?
应用程序绝不能被中断 - 它必须尽可能长时间地保持运行
在我看来,24/7 运行的应用程序通常被视为服务。
通常 Linux 上的服务由进程主管启动,通常在启动时启动,例如通过常见的默认 systemd 或此处列出的替代方案之一:https ://en.wikipedia.org/wiki/Process_supervision
然后,该主管可以在需要时执行服务/应用程序重新启动,并捕获和记录标准/错误输出,这样它就不会丢失。
作为系统管理员,您可以与日志或流程主管进行交互,以检查您的服务状态。
就我个人而言,我更喜欢服务不依赖主管的所有日志记录,换句话说,它们不仅登录
stdout
到stderr
. 服务应仅在使用(调试)开关启动和/或抛出严重错误和死亡时生成(大量)标准输出(写入控制台)。在正常操作期间,服务应该可以选择维护自己的日志文件以记录请求、统计信息、错误、统计信息和其他相关事件。但这对您的应用程序来说可能是多余的。
虽然我同意将其作为服务的想法,但一些超出我控制的非常规限制决定它必须是一个交互式会话。
我通过使用解决了它
screen