中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]关于用runassvr生成同一程序不同实例的疑问
作者:
标题: [求助]关于用runassvr生成同一程序不同实例的疑问 上一主题 | 下一主题
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
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: