【问题标题】:Remotely Executing an Independent .exe on an Apache Server [CGI]在 Apache 服务器上远程执行独立的 .exe [CGI]
【发布时间】:2012-04-03 19:44:16
【问题描述】:

我创建了一个可执行程序,它是一个服务器。我希望能够通过同一机器主机的网站在 Windows Server 2008 机器上启动和停止该程序的实例。

我希望实现的功能是:从任何我可以访问我的网站的地方启动和停止服务器代码的实例,而不是不断地远程桌面进入它来启动/停止它。

我尝试过使用 Perl,但是当我运行代码时,它看起来像是打印出了程序所做的一些信息(因此它正在工作),但随后似乎停止了。而我希望它启动程序的一个实例作为它自己的进程。

Perl:

#!C:/Perl64/bin/perl.exe
print "Content-type: text/plain\n\n";

exec('C:\file.exe');

我不确定我应该使用哪种语言,或者是否有其他更好的方法来实现我的目标。谢谢!

【问题讨论】:

  • 我很欣赏这个链接,但我希望得到更多的回应,对目标进行更多的分析,用 Perl 来尝试做我正在寻找的事情的正确方法?正如我所提到的,不是使用线程产生一个全新的进程,然后如果它处于活动状态则终止该进程。谢谢。
  • 线程很难处理,相信我...要正确地处理它并正确理解它,您需要对此进行大量研究。我知道你不喜欢听这个,但是 threads 是非常特殊的部分,而不仅仅是其他任何东西。对不起,如果你现在恨我:-/
  • 我当然不恨你! :) 但是我对线程非常熟悉,我在这里尝试操作的服务器非常繁重。我只是犹豫不决,因为我想要做的只是: 1. 单击一个启动 .exe 的按钮 2. 允许另一个按钮在主机上终止具有该名称的进程 这似乎没有必要,而且尝试和很多过度杀伤力用线程实现它。 (当然我可能是错的)

标签: windows perl apache cgi executable


【解决方案1】:

exec 是错误的选择,线程也是如此。只需start the process in the background。你没有说你通常会如何停止服务器。如果它有自己的停止命令,则与启动相同;否则 kill 进程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-05
    • 2023-04-05
    • 2018-09-09
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 2016-12-08
    相关资源
    最近更新 更多