打不开的exe处事浅谈Windows长途桌面的那点事
小我私人不喜好处事端措施,以 Windows 操纵体系作为运行平台,可是,许多时辰,迫于情形近况,必要让本身的措施实现跨平台。 在开拓全新的金山游戏运营平台时,发明:固然大部门游戏,处事端措施运行在 Linux 处事器,可是,仍有破例。几款最近署理的游戏,处事端运行在 Windows 处事器上。西山居开拓的游戏,处事端集群架构,既有 Windows 处事器,又有 Linux 处事器。
游戏运行体系的 Knose 措施,我最初是在 Linux 下开拓的,其后才实现了兼容 Windows 的跨平台版本。
在 Linux 下,Knose 为“父子历程+指令处理赏罚线程池+独立成果多线程”布局;在 Windows 上,将 Knose 父子历程布局,拆分成了 knose_daemon.exe(Service 处事措施)和 knose.exe(主措施),由 knose_daemon.exe 启动 knose.exe。
碰着了题目:凭证运营维护需求,knose.exe 以及通过它启动的游戏处事端历程,必要有“窗口界面”,表现在桌面中。而 knose_daemon.exe 是以处事方法运行的,无窗口界面,knose_daemon.exe 启动的 knose.exe,窗口界面没有弹出来。 为了办理这个题目,我在 install.bat 中,用了 Windows 的 sc 呼吁,将 knose_daemon.exe 启动为体系处事,“type= interact type= own”配置了“应承桌面与处事交互”。在本机(Windows XP SP3)测试,knose.exe 的窗口界面以及通过它启动的游戏历程窗口界面,都弹出来了。 @echo off sc create "KingeyesKnose" binPath= "%CD%knose_daemon.exe" DisplayName= "Kingeyes Knose Daemon" start= auto type= interact type= own sc description KingeyesKnose "金山游戏运营体系 KingEyes Knose 保卫历程。" sc start KingeyesKnose
于是将措施宣布到 Windows Server 2003 处事器上,长途桌面毗连上去,发明 knose.exe 的窗口界面始终弹不出来。 其后,同事发明,原本是“长途桌面”惹的祸: 长途桌面客户端 mstsc 有一个 /console 参数,模式等同于当地终端表现器登录,/console 不会去占用非 /console 长途桌面,长途桌面应承两个正常毗连和一个节制台/console方法毗连,而且正常毗连和 /console 毗连的桌面操纵不能彼此望见,只有通过 /console 参数长途桌面毗连到 Windows 2003 处事器,才气够看到弹出的 knose.exe 窗口界面。 在 Windows XP SP3 以上版本,/console 参数更名为 /admin,必要用 mstsc /admin 启动长途桌面:
连上后,终于可以或许看到由 knose_daemon.exe 启动的 knose.exe 措施窗口,以及由 knose.exe 启动的游戏处事端历程窗口了 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |