Run As Service
把任何可执行文件(包括批处理和角本)当作系统服务运行的工具
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ 介绍:
■ 将任何可执行文件作为系统服务运行。 ■ 开始主要是为了移植一些linux 的 daemon;也可以用于启动任何应用程序和维护性角本。 ■ 安静地运行,除非指定了 Interactive 模式,否则不会弹出任何窗口。 ■ 无需登陆,系统启动后自动运行,无需等待用户登陆完毕。 ■ 作为附带的功能,支持启动、停止和删除任何系统服务。 ■ 完整接管系统服务管理器的指令(启动、停止等等)。运行的程序终止后,自动向服务管理器提交状态同时自身退出,不会驻留内存。
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ 1.1.0.628 版新增内容:
■ 所有 Action (例如:add / remove 等)无需再加前缀。 ■ 新增 pause / continue 操作。 ■ 现在开始,一个 runassrv 服务可以并发运行多个 /cmdline 指定的应用。 ■ runassrv.exe 本身不需要放入系统搜索路径中了。 ■ 新增 control 操作,向指定的服务发送控制码。 ■ 新增 listsrv 操作,列出所有服务和驱动,支持很多过滤条件。 ■ 新增 -logfile 和 -loglevel 选项,日志记录功能。 ■ 新增 -unstoppable 系统服务管理器将拒绝停止一个以该选项安装的服务。 ■ 内存收缩策略,典型情况下内存开销少于 300KB。 ■ 解决了在某些系统上 start / stop 命令无效的问题。
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ 1.1.2.803 版新增内容:
■ 如果指定了多个 /cmdline 参数,那么服务启动时,用户命令将会按照 /cmdline 的指定顺序逐个执行。 ■ 每条用户命令都将等待上条 /cmdline 命令就绪后才开始执行,保证有依赖关系的命令可以正常运行。(参见:“关于执行就绪”) ■ 为每条命令设置默认的“当前工作目录”参数。例如,有命令:“/cmdline:C:\test\app.exe”,在执行该命令时,其当前工作目录将被设置为“C:\test\”,保证应用程序可以正常访问配置信息和私有数据。
■关于执行就绪■ 对于命令行程序(包括批处理和角本),执行就绪意味着标准输入输出设备已初始化完毕,并且已经进入主程序入口(main());对于图形界面程序,执行就绪意味着主窗体注册和初始化完毕,程序已经在主循环处等待接受消息。
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ 帮助屏幕:
C:\Documents and Settings\Administrator> #runassrv
=========================================================================== Run As Service Ver 1.1.2.803 by BaiYang / 2004 - 2006, Freeware =========================================================================== Run any program as a Service
USAGE: runassrv <Action> <Options> =========================================================================== 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 ===========================================================================
|
|