产业投融资发展中心:RunAsSrv: 把任何可执行文件(包括批处理和角本)当作系统服务运行
来源:百度文库 编辑:中财网 时间:2024/05/09 14:11:01
Run As Service
- 把任何可执行文件(包括批处理和角本)当作系统服务运行的工具
- Run Everything As a System Service
- 将任何可执行文件作为系统服务运行。
- 开始主要是为了移植一些linux 的 daemon;也可以用于启动任何应用程序和维护性角本。
- 安静地运行,除非指定了 Interactive 模式,否则不会弹出任何窗口。
- 无需登陆,系统启动后自动运行,无需等待用户登陆完毕。
- 作为附带的功能,支持启动、停止和删除任何系统服务。
- 完整接管系统服务管理器的指令(启动、停止等等)。运行的程序终止后,自动向服务管理器提交状态同时自身退出,不会驻留内存。
- pause / continue 操作。
- 一个 runassrv 服务可以并发运行多个 /cmdline 指定的应用,应用按指定顺序初始化。
- runassrv.exe 本身不需要放入系统搜索路径中。
- 新增 control 操作,向指定的服务发送控制码。
- 新增 listsrv 操作,列出所有服务和驱动,支持很多过滤条件。
- 新增 -logfile 和 -loglevel 选项,日志记录功能。
- 新增 -unstoppable 系统服务管理器将拒绝停止一个以该选项安装的服务。
- 内存收缩策略,典型情况下内存开销少于 300KB。
一个 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 添加为服务会发生什么。
帮助屏幕
C:\Documents and Settings\Administrator>#runassrv=========================================================================== Run As Service Ver 1.1.2.803 by BaiYang / 2004 - 2006, Freeware===========================================================================Run any program as a ServiceUSAGE: runassrv===========================================================================Actions: add - Add a Service. remove - Remove a Service. start - Start a Service. stop - Stop a Service. pause - Pause a Service. continue - Continue a paused Service. control - Control a service by send it a op-code listsrv - List all installed services on local system listgrp - List all service load order groups on local system (by start order). -h - this screen===========================================================================Options: -cmdline - when the service start, witch program you want to run. -name - the service name. -dispname - service's display name in service manager -desc - service's description in service manager DEFAULT: none -type - service type, can be: FileSystemDriver KernelDriver OwnProcess (DEFAULT) ShareProcess InteractiveProcess NOTE: set this option incorrectly may endanger your system! -starttype - service start type, can be: SystemStart BootStart AutoStart (DEFAULT) DemandStart Disabled NOTE: set this option incorrectly may endanger your system! -errctl - service error control policy, can be: ErrorIgnore ErrorNormal (DEFAULT) ErrorSevere ErrorCritical NOTE: set this option incorrectly may endanger your system! -group - specify service load order group DEFAULT: none -depen - names of services or load ordering groups that the system must start before this service, delimited by '/' DEFAULT: none -user - specifies the name of the account under which the service should run. DEFAULT: LocalSystem -pass - contains the password to the account name DEFAULT: none -priority - priority of the program you want to run, can be: Idle BelowNormal Normal (DEFAULT) AboveNormal High RealTime -unstoppable - make service unstoppable by system service control manager. -opcode - for "control", specify the operation code. -logfile - specify the logging target. DEFAULT: don't log to file. -loglevel - specify the lowest logging level, can be: DebugOnly (Most Detail) Info Warning Error (DEFAULT) FatalError Disabled (Close Logging Output)===========================================================================Special Options With "listsrv": -name - list service name that match the wildcard pattern DEFAULT: * -dispname - service display name's wildcard pattern. DEFAULT: * -pid - service belong to specified process. DEFAULT: any -type - specify service types to be match, delimite by "/". DEFAULT: any -starttype - specify service starttypes to be match, delimite by "/". DEFAULT: any -group - service belong to the load order group DEFAULT: any -state - service's current state, can be: active inactive DEFAULT: any===========================================================================Examples: runassrv add /cmdline:"c:\tools\myapp.exe -arg1 -arg2" /name:"mysrv" runassrv add /cmdline:myapp.exe /cmdline:yourapp.exe /name:mysrv runassrv start /name:wuauserv runassrv stop /name:wuauserv runassrv pause /name:iisadmin runassrv control /name:wuauserv /opcode:1 runassrv listsrv /name:w* runassrv listsrv /type:KernelDriver/FileSystemDriver runassrv listsrv /starttype:SystemStart/BootStart runassrv listsrv /group:pnp_tdi runassrv listsrv /pid:1234 runassrv listgrp
简单中文帮助
C:\Documents and Settings\Administrator>#runassrv=========================================================================== Run As Service Ver 1.1.2.803 by BaiYang / 2004 - 2006, Freeware===========================================================================将任何可执行程序作为系统服务运行用法: runassrv <动作> <选项>===========================================================================动作: add - 新增一个服务. remove - 删除一个服务. start - 启动一个服务. stop - 停止一个服务. pause - 暂停一个服务 continue - 继续一个被暂停的服务. control - 向指定服务发送一个控制码. listsrv - 列出当前系统中符合条件的所有服务及驱动. listgrp - 列出当前系统中所有服务启动组的优先级顺序. -h - 此帮助屏幕.===========================================================================选项: -cmdline - 当服务启动时,指定你真正想要运行那个程序. 这个选项可以被多次使 用,每个都指定一个要运行的应用。当服务启动时,这些应用将被并发 地执行。 -name - 指定系统服务名(net start 等系统操作用). -dispname - 指定用户将要看到的服务显示名称(在服务管理器中看到的名称). -desc - 指定服务描述(在服务管理器中看到的服务描述信息) 默认: 无 -type - 指定服务类型,可以是以下几种: FileSystemDriver : 文件系统及驱动,将在内核载入之前被装入,注 意这个级别的服务几乎不可以使用任何系统API。 KernelDriver : 内核级驱动,内核装入后,立即被装入,这个 级别的服务只能使用受限的API。 OwnProcess : 单独进程服务,标准服务,在Win32子系统ready 后启动,默认。 ShareProcess : 共享进程服务,即数个服务共享同一进程,很多 依赖svchost的服务都使用这种类型。 InteractiveProcess: 交互式服务,服务可以与用户交互,除了这个类 型以外,其它所有类型的服务都不可能有用户可 见的界面。 注意: 错误的设置这个选项可能使系统变得不稳定,甚至无法启动!如果 不知道自己正在做什么,请不要尝试前两项。 -starttype - 服务启动类型,包括: SystemStart : 系统级启动,在kernel初始化后启动。 BootStart : 由系统装载器启动(kernel初始化前)。 AutoStart : 自动启动,Win32子系统初始化完毕后启动,默认。 DemandStart : 手动。 Disabled : 禁用。 注意: 错误的设置这个选项可能使系统变得不稳定,甚至无法启动!如果 不知道自己正在做什么,请不要尝试前两项。 -errctl - 指定服务出错时的错误处理策略,可以是: ErrorIgnore : 忽略错误,不挽救服务,系统继续运行 ErrorNormal : 记录到系统日志,并且弹出一个对话框提示用户,默 认。(默认) ErrorSevere : 记录日志并弹出提示框,如果当前系统已经运行于了 最后一次正确启动的配置,则忽略该错误,否则自动 重启到最后一次正确配置。 ErrorCritical : 同上,但是如果重启到最后一次正确配置还是启动本 服务失败就蓝屏。 注意: 错误的设置这个选项可能使系统变得不稳定,甚至无法启动!如果 不知道自己正在做什么,请不要尝试后两项。 -group - 指定服务属于的启动优先级组,优先级组可以通过 listgrp 按顺序列出。 默认: 无 -depen - 指定本服务所依赖的服务,在这里指定的服务必须在本服务启动之前正确 启动。多个服务之间用 “/”分割。这里要指定系统服务名,而不是用户 看到的那个名称。 默认: 无 -user - 指定用户身份,即本服务使用那个用户帐号运行 默认: LocalSystem(本地系统,最高权限),交互式服务必须使用这个 帐号。 -pass - 指定用户密码 默认: 无(LocalSystem) -priority - cmdline 参数指定程序的运行优先级,可以是(这个不用解释了吧): Idle BelowNormal Normal (默认) AboveNormal High RealTime -unstoppable - 系统服务管理器将拒绝停止以此选项安装的服务。 -opcode - 为 control 命令指定要发送的控制码。控制码 “1”其实相当于命令 stop,用于停止服务。除了几个标准的控制码外,大部分控制码所对应的 行为由服务自己定义。 -logfile - 指定日志文件 默认: 不记录日志文件 -loglevel - 指定日志记录的详细程度,可以是: DebugOnly (记录所有运行细节) Info Warning Error (默认) FatalError Disabled (关闭对控制台和文件的日志输出)===========================================================================使用 listsrv 命令时的特殊选项: -name - 指定要列出的服务名通配符 默认: * -dispname - 指定要列出的服务显示名称通配符 默认: * -pid - 仅列出运行于指定进程的服务 默认: 所有进程 -type - 仅列出指定类型的服务, 多个服务类型间使用 "/" 分割 默认: 所有类型 -starttype - 仅列出指定启动类型的服务, 多个类型间使用 "/" 分割 默认: 所有类型 -group - 进列出位于指定启动组的服务 默认: 任意组 -state - 仅列出当前状态满足指定值的服务, 可以是: active : 服务当前处于活动状态(正在启动、运行等) inactive : 服务当前处于非活动状态(已停止) 默认 : 任意===========================================================================例子: runassrv add /cmdline:"c:\tools\myapp.exe -arg1 -arg2" /name:"mysrv" runassrv add /cmdline:myapp.exe /cmdline:yourapp.exe /name:mysrv runassrv start /name:wuauserv runassrv stop /name:wuauserv runassrv pause /name:iisadmin runassrv control /name:wuauserv /opcode:1 runassrv listsrv /name:w* runassrv listsrv /type:KernelDriver/FileSystemDriver runassrv listsrv /starttype:SystemStart/BootStart runassrv listsrv /group:pnp_tdi runassrv listsrv /pid:1234 runassrv listgrp===========================================================================关于命令和参数的分隔符: 所有参数以 “-” 或 “/” 为前缀;需要赋值得参数以 “:” 或 “=”作为 赋值运算符,例如:-name="mysrv"; /name:"mysrv"; -name:"mysrv" 等组合都 是合法的。
怎样把可执行文件作为桌面背景?
如何把几何画板转化成可执行文件
如何把flash文件变成可执行文件??
怎样把C文件变成EXE可执行文件????
谁知道怎么把LNK快捷方式改成.exe的可执行文件格式
请问怎么样才能把TXT文件转换为BAT 可执行文件?
怎么把编好的PASCAL程序做成可执行文件
怎么把PPT做成一个独立的可执行文件呀
怎么把一个文件夹合并成一个可执行文件?
用什么软件可以把FLASH做成可执行文件?
怎么样把可执行文件刻入VCD视频光盘
任何把NTFS变成FAT32
什么是可执行文件
可执行文件是什么
xp 可执行文件
可执行文件是
怎样徒手将包装袋封口,而且不用任何工具.
java问题,怎样把.java格式的文件变成.exe格式的可执行文件?
怎样把.java格式的程序变成.exe格式的可执行文件?
如何把DVD唱碟中的歌曲转化成单个的可执行文件?
怎么样可以把PB程序打包成一个可执行文件,怎么样操作才能完成?急急!
谁能帮我把以下的汇编程序编译成能下载到8051单片机里的可执行文件?
谁能帮我把以下的汇编程序编译成能下载到8051单片机里的可执行文件??
跪求魔兽争霸下载地址,非升级包,任何版本都可以,升级包好找