|
picat
初级用户
积分 150
发帖 68
注册 2007-4-26
状态 离线
|
『楼 主』:
[求助]关于用runassvr生成同一程序不同实例的疑问
不知道该怎么表达,标题可能有点模糊.
情况是这样的,我这边有一个第三方开发的程序,可以根据配置文件设置不同的监听端口.比如
APPFolder1 --
|-- APP.exe 程序本身
|-- App.ini 配置文件,设置端口等等
|-- Appmsg.dat 程序启动时候读取的一些消息文本.
|-- 其他
APPFolder2 --
|-- APP.exe 程序本身
|-- App.ini 配置文件,设置端口等等
|-- Appmsg.dat 程序启动时候读取的一些消息文本.
|-- 其他
两个目录除了App.ini中的配置不一样,其他都是一样的.
出去维护方便考虑,我想用白杨大侠的runassvr来将这个APP.exe做成服务形式,这样可以远程管理,但是问题出来了,安装成服务之后启动的时候提示找不到APPmsg.dat文件,经测试应该是路径的问题,因为App.exe在启动时会在自身的目录下找Appmsg.dat文件,我曾经想把路径放到系统path变量中,但是不行.而且就算成功了,接下来要loading App.ini文件,这个时候程序不可能判断应该读取哪个目录下的App.ini了.
然后我尝试了一个p处理:比如我要启动APPFolder1中的服务:
d:
cd APPFolder1
APP.exe
保存到start1.bat中,然后用runassvr将start1.bat做成服务,这样启动是可以了,但是没法关闭app.exe......
不知道坛子里的大侠有没有什么妙招?
PS:关于runassvr,请看http://www.cn-dos.net/forum/view ... =%E6%9C%8D%E5%8A%A1
[ Last edited by picat on 2008-8-21 at 05:41 PM ]
|
|
2008-8-21 17:03 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
2 楼』:
把批处理的内容改成这样行吗?
d:
cd APPFolder1
start APP.exe
|
|
|
2008-8-21 17:31 |
|
|
picat
初级用户
积分 150
发帖 68
注册 2007-4-26
状态 离线
|
『第
3 楼』:
Quote: | Originally posted by HAT at 2008-8-21 17:31:
把批处理的内容改成这样行吗?
d:
cd APPFolder1
start APP.exe |
|
不行,我之前已经试过了.
|
|
2008-8-21 17:33 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
4 楼』:
停掉服务或者杀进程可以吗?
|
|
|
2008-8-21 17:53 |
|
|
picat
初级用户
积分 150
发帖 68
注册 2007-4-26
状态 离线
|
『第
5 楼』:
Quote: | Originally posted by HAT at 2008-8-21 17:53:
停掉服务或者杀进程可以吗? |
|
我说的关闭就是net stop或者用服务管理器关闭啊
杀进程肯定是可以的,但是这就失去了做成服务的意义了啊
|
|
2008-8-21 18:05 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
6 楼』:
net stop或者sc stop的时候,有没有报错信息?
SUN公司(其它牛X公司也类似)应该算不错吧,它的产品有时候也出现这个问题,只能杀进程。
|
|
|
2008-8-21 20:06 |
|
|
picat
初级用户
积分 150
发帖 68
注册 2007-4-26
状态 离线
|
『第
7 楼』:
我昨天查看了一下进程情况,我这样做法(把start1.bat做成服务),进程里加载的是cmd.exe,再由它来启动start1.bat,然后start1.bat再启动app.exe,所以net start是没问题的,但是net stop的时候(状态都是正常的,没有报错),它仅仅是吧cmd.exe这个进程kill了,而app.exe依然运行着,所以会有这种情况.
昨天我在HAT你的群里已经咨询过了,似乎没有很好的解决方法.
|
|
2008-8-22 10:39 |
|
|