【问题标题】:How to keep program running on VPS even after it's closed?如何在 VPS 关闭后保持程序在 VPS 上运行?
【发布时间】:2014-07-19 11:14:47
【问题描述】:

我想对我要问的问题表示歉意,如果它不够清晰和详细。 我向在线客户端交付了一个程序(developed using VB.Net),它是一个在 Windows 操作系统上模拟用户击键(使用SendKeys)的自动化程序。 一切顺利,但他说当他在VPS上运行程序时,当他关闭VPS时程序关闭,尽管其他程序继续运行。

我希望这里有人可以帮助我向我解释这个问题背后的原因,以及是否有任何解决方法。问题是我无法访问客户的 VPS,因为他是在线客户。

提前致谢。

更新: 我可以访问客户端的 VPS,当 VPS 连接关闭时程序抛出异常,异常消息:System.Windows.Forms.MouseEventArgs

【问题讨论】:

  • VPS的操作系统是什么,程序是如何执行的?
  • 到目前为止,我知道是 Windows,我给他发了一封电子邮件,询问他具体使用的是哪个操作系统。用户单击一个按钮,程序运行一个应用程序并开始向该应用程序发送 keytorkes。

标签: vps remote-server


【解决方案1】:

这是由于远程桌面连接到 Windows VPS。当用户注销远程连接时,.EXE / 应用程序将停止并且将不再运行。要解决此问题,您可以执行以下操作之一:

  1. 从 Visual Studio 中的“新建项目”按钮创建一个新的 Windows 服务项目,然后将您的应用程序编程为服务。 Linked Here

  2. 使用 VPS 环境中的服务管理窗口并添加程序的可执行文件。它将作为服务开始运行(具有可见的窗口和您编写的所有内容),并将在用户注销时运行。 Linked Here

  3. 使用任务管理器来安排将在特定条件下(如系统启动)运行可执行文件的任务。 Linked Here

如果它由多个客户端运行,我会使用选项 1,因为它提供了可移植性和易于部署。不过,它很可能需要以某种方式进行重构。

如果它是一次性应用程序并且不会被其他任何人使用,但会在 VPS 上持续存在,那么我会使用选项 2。

如果您需要进一步控制脚本运行的条件,我只会使用选项 3。

希望这会有所帮助..

【讨论】:

  • 非常感谢马特,非常感谢 :) 就我而言,选项 2 是您推荐的,但出于好奇,我正在尝试选项 1。
  • 但是你能告诉我如何应用选项 2 吗?我检查了您上面列出的链接,但找不到如何将我的 exe 添加为服务!
  • 您可以选择命令提示符 (ctrl r) 并输入 services.msc 并启动它。然后,您应该可以选择添加服务并从存储目录中选择您的 .EXE。
  • 这就是我所做的,我去服务并尝试查看添加新服务的菜单项,我尝试右键单击服务(本地)但仍然找不到要添加的选项服务!
  • 选项 nb 1 也不起作用。我创建了一个 windows 服务器项目,它在 VPS 上运行正常,但是当与 VPS 的连接关闭时,程序抛出异常并退出。我希望选项 2 有效,但仍然没有找到添加服务选项。
猜你喜欢
  • 1970-01-01
  • 2017-11-10
  • 1970-01-01
  • 2016-10-30
  • 2018-06-23
  • 2015-01-20
  • 2016-04-14
  • 1970-01-01
  • 2018-11-03
相关资源
最近更新 更多