中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 05:18
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » [原创][更新] 把任何可执行文件(包括批处理)当作服务
可打印版本  66,274 / 262
第1楼 asbai 发表于 2006-06-22 14:18
高级用户 发帖 252 积分 653
[原创][更新] 把任何可执行文件(包括批处理)当作服务
■注意■ 竟然有人专门加我 MSN 询问此工具和 XP 下的 SC 命令有何不同。实在让人郁闷。

这里澄清一下,首先,一个 windows service 不是普通的可执行程序。一个应用程序想要成为 service,必须按照契约调用标准的 Windows Service API,与 Windows Service Manager 进行正确交互才可以。具体参见:
http://msdn.microsoft.com/en-us/library/ms681921(VS.85).aspx 和
http://msdn.microsoft.com/en-us/library/ms685967(VS.85).aspx。详细的 API 参考在:http://msdn.microsoft.com/en-us/library/ms685942(VS.85).aspx。

也就是说,SC 命令的作用是安装、删除、启动、停止一个 service。而 runassrv 的作用是将任何非 service 程序变成 service。

如果这样说还是不清楚的话,请尝试一下用 SC 把某个批处理或 notepad.exe 添加为服务会发生什么。


≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
1.1.0.628 版新增内容:

■ 所有 Action (例如:add / remove 等)无需再加前缀。
■ 新增 pause / continue 操作。
■ 现在开始,一个 runassrv 服务可以并发运行多个 /cmdline 指定的应用。
■ runassrv.exe 本身不需要放入系统搜索路径中了。
■ 新增 control 操作,向指定的服务发送控制码。
■ 新增 listsrv 操作,列出所有服务和驱动,支持很多过滤条件。
■ 新增 -logfile 和 -loglevel 选项,日志记录功能。
■ 新增 -unstoppable 系统服务管理器将拒绝停止一个以该选项安装的服务。
■ 内存收缩策略,典型情况下内存开销少于 300KB。
■ 解决了在某些系统上 start / stop 命令无效的问题。

≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
前两年写的小东西,发给大家乐呵乐呵~

Run As Service

把任何可执行文件(包括批处理和角本)当作系统服务运行的工具

≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
介绍:

■ 将任何可执行文件作为系统服务运行。
■ 开始主要是为了移植一些linux 的 daemon;也可以用于在启动任何应用程序和维护性角本。
■ 安静地运行,除非指定了 Interactive 模式,否则不会弹出任何窗口。
■ 无需登陆,系统启动后自动运行,无需等待用户登陆完毕。
■ 作为附带的功能,支持启动、停止和删除任何系统服务。
■ 完整接管系统服务管理器的指令(启动、停止等等)。运行的程序终止后,自动向服务管理器提交状态同时自身退出,不会驻留内存。

≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
帮助屏幕:



≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
简单中文帮助:



≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
版权:免费软件;作者不承担任何责任。您可以将它用于任何用途,只要不做坏事

≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
联系作者:http://www.cn-dos.net/forum 或 asbai@msn.com

有事尽量论坛或 email 联系。不过要是你喜欢玩星际并且是手速跟我一样低(不超过100)的菜鸟,欢迎加我的 MSN ^_^

[ Last edited by asbai on 2008-6-3 at 01:33 PM ]

附件
runassrv.rar (115.34 KiB)
第2楼 ebfoo 发表于 2006-06-22 23:44
初级用户 发帖 9 积分 31 来自 cs
真乃牛人也!
先收下了
第3楼 Cappuccin0 发表于 2006-06-23 00:22
新手上路 发帖 7 积分 9
在DRL上面看到帖子可惜没权限下载,遂就跑到这来了~~
顺便想问一下楼主这个程序的进程是否会被任务管理器中中止掉?就是注册为那种unstoppable service.
第4楼 asbai 发表于 2006-06-23 01:52
高级用户 发帖 252 积分 653
Originally posted by Cappuccin0 at 2006-6-23 00:22:
在DRL上面看到帖子可惜没权限下载,遂就跑到这来了~~
顺便想问一下楼主这个程序的进程是否会被任务管理器中中止掉?就是注册为那种unstoppable ...


呵呵,DRL是啥东东阿?做的时候是写成了unpauseble,但没写成unstoppable。也没给这个选项,因为实在想不出这个选项有什么用。
第5楼 Wengier 发表于 2006-06-23 02:30
系统支持 发帖 10,521 积分 27,736
试了一下,发现asbai的编程水平确实不错。不过,发现/add和/remove都可以用,而/start和/stop好像有时不能正常使用(如用net start和net stop则可以)。比如:

C:\>runassrv /stop /name:"MySQL"

=======================================================================
Run As Service Ver 1.0.0.3 by BaiYang / 2004, Freeware
=======================================================================

[APPLICATION ERROR] 9 :: CSrvApp::_StopSrv() - unable stop the service.
service name = MySQL
error number = 0
error description = The operation completed successfully.

C:\>net stop MySQL
The MySQL service is stopping..
The MySQL service was stopped successfully.


C:\>
第6楼 ebing 发表于 2006-06-23 09:48
初级用户 发帖 12 积分 130
学习收藏了,谢谢!
第7楼 asbai 发表于 2006-06-23 15:31
高级用户 发帖 252 积分 653
Originally posted by Wengier at 2006-6-23 02:30:
试了一下,发现asbai的编程水平确实不错。不过,发现/add和/remove都可以用,而/start和/stop好像有时不能正常使用(如用net start和net stop则可以)。比如..


能不能麻烦Wengier兄给个故障重现的步骤?
第8楼 electronixtar 发表于 2006-06-23 15:47
铂金会员 发帖 2,672 积分 7,493
srvany
第9楼 Wengier 发表于 2006-06-23 23:09
系统支持 发帖 10,521 积分 27,736
Originally posted by asbai at 2006-6-23 03:31 PM:


能不能麻烦Wengier兄给个故障重现的步骤?;)


5楼中其实就有重现的方法的,当然其中的"MySQL"可以改成其它类似的存在的服务。
第10楼 asbai 发表于 2006-06-24 05:53
高级用户 发帖 252 积分 653
Originally posted by Wengier at 2006-6-23 23:09:


5楼中其实就有重现的方法的,当然其中的"MySQL"可以改成其它类似的存在的服务。


sorry, 我以为兄台说的:“好像有时不能正常使用” 是指在某些特定环境下,按照特定流程操作才会发生。

偶这就去看看。
第11楼 asbai 发表于 2006-06-24 12:52
高级用户 发帖 252 积分 653
Wengier兄用的Windows版本是?
第12楼 Wengier 发表于 2006-06-24 14:05
系统支持 发帖 10,521 积分 27,736
Windows XP SP2英文版
第13楼 zhweller 发表于 2006-06-25 13:26
新手上路 发帖 1 积分 2
找它很久了!!!
第14楼 electronixtar 发表于 2006-06-25 15:11
铂金会员 发帖 2,672 积分 7,493
第15楼 asbai 发表于 2006-06-28 02:03
高级用户 发帖 252 积分 653
Originally posted by electronixtar at 2006-6-25 15:11:
hoho~~~看到原贴了

http://www.et8.net/bbs/showthread.php?t=763159


electronixtar兄搞错了吧?仔细看看,这里才是原贴,^_^
1 2 3 418  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023