我有一个 Linux 系统:
现在老板想知道把这些都移植到Windowze上需要付出多少努力。
之前从未真正在 Windows 上编程过,我想问一下这将有多容易/困难,以及有哪些选择。
谢谢,
最佳答案
PHP 可能会按原样运行。 Javascript 在网络浏览器中运行,并将按原样运行。您的守护进程是 Windows 上的一项服务。显然,它通过 javascript 在套接字上监听来自网页的命令。
您没有说明服务的目标语言是什么。某些语言(如 C# dot Net)具有内置库,用于制作可以暂停、停止、启动并与 Windows 服务控制系统交互的干净服务。 C# 将是制作可以轻松安装和删除自身的服务的不错选择,它支持很好的高级套接字控制来监听 PHP 和 javascript 代码。我使用过 perl、C#、C++,甚至 Visual Basic 作为服务运行,所以选择权在你。
如果您选择的 Windows 语言是编译成某些 .EXE,那么添加服务的低级方法如下。您将需要 INSTSRV.exe 和 SRVANY.EXE,它们位于 Windows 资源工具包中,或者可以通过快速网络搜索轻松下载。
登录调试得到服务器runnign后,正常安装APP服务器到C:\Program Files\APP目录下。这将是连接到串行端口并通过套接字执行您想要的操作的应用程序。
复制instsrv.exe到你的C:\WINDOWS\system32目录下/
复制SRVANY.EXE到C:\Program Files\YOURAPP
在命令提示符下,运行此命令 – INSTSRV YOURAPP "C:\Program Files\YOURAPP\srvany.exe"
运行注册表编辑器 (REGEDT.EXE)
在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\YOURAPP 下:创建一个“Parameters”键(文件夹)
在此键下,创建一个名为 Application 的 REG_SZ 字符串值并将此数据添加到 C:\Program Files\YOURAPP\YOURAPP.exe
关闭Regedit,然后在管理工具中打开服务控制台,或者启动,运行,services.msc,确认设置为自动启动,登录账号为LocalSystem。然后取消单击允许服务与桌面交互。如果您单击此按钮,它会在 Windows 7 机器上打断您,每当它写入屏幕时。
启动该服务,在任务管理器中查看,您会在其中看到 YOURAPP.exe,如果您停止该服务,则 YOURAPP.exe 将消失。
关于windows - 将串行守护进程 + PHP 移植到 Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6036541/
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server
在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',
我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
如何将send与+=一起使用?a=20;a.send"+=",10undefinedmethod`+='for20:Fixnuma=20;a+=10=>30 最佳答案 恐怕你不能。+=不是方法,而是语法糖。参见http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html它说Incommonwithmanyotherlanguages,Rubyhasasyntacticshortcut:a=a+2maybewrittenasa+=2.你能做的最好的事情是:
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我
我正在尝试使用以下代码通过将ffmpeg实用程序作为子进程运行并获取其输出并解析它来确定视频分辨率:IO.popen'ffmpeg-i'+path_to_filedo|ffmpegIO|#myparsegoeshereend...但是ffmpeg输出仍然连接到标准输出并且ffmepgIO.readlines是空的。ffmpeg实用程序是否需要一些特殊处理?或者还有其他方法可以获得ffmpeg输出吗?我在WinXP和FedoraLinux下测试了这段代码-结果是一样的。 最佳答案 要跟进mouviciel的评论,您需要使用类似pope