使用sc命令手动管理Windows服务

原创
2017/05/16 17:25
阅读数 1.3W

    当需要管理(增加、删除、修改等)Windows系统中的系统服务时,可使用Windows系统提供的sc命令来管理系统服务。

(以下以Windows 7环境下为例)

    sc命令中的大部分“命令参数”需要“以管理员身份运行”(即以管理员身份启动cmd命令行窗口,然后在该命令行窗口中执行相关命令;注意,在该命令行窗口中执行的任何命令都将以管理员权限执行。以管理员身份启动cmd命令行窗口的操作方法:鼠标点击开始菜单,在开始菜单底部的“搜索程序和文件”输入框中输入 cmd 字母,在菜单顶部“程序”中显示的 cmd.exe 上面点击鼠标右键,点击“以管理员身份运行(A)”菜单项,在新弹出的“用户账户控制”对话框中点击“是”即可打开“以管理员身份运行”的命令行窗口。),因此下面“以管理员身份运行”全部的sc命令操作。

 

查看sc命令帮助

    执行无参数的 sc 命令可查看帮助信息;即:在命令行窗口中输入sc并回车。按照惯例,我习惯于加上 /? 来查看帮助内容: sc /?

 

sc命令格式

    sc  [server]  <command>  <ServiceName>  [OptionName= "value"]  ["option2"]

(按照惯例,以上各项参数中,被“中括号 [xxx]”包裹的选项表示为“可选项”,被“尖括号 <xxx>”包裹的选项表示为“必需项”;实际命令中不应包括该 中括号或尖括号 符号)

    server:管理远程机器时,可以是 机器名或IP地址,如: \\\\myserver\\\\192.168.0.1 。管理本机时可省略此项。

    command命令参数。如 create, description, config, query, start, stop, delete 等等(说明:这里可以用普通用户身份执行query命令,未尝试其他未列出的命令参数)。

    ServiceName:自定义的不可重复的服务名,用于后续操作服务的服务名(类似于数据库记录的唯一主键的作用)。

    OptionName= "value":“选项名称”和“选项值”,设置相关选项及值。“选项值”可用英文双引号括起来。注意,等号后面必须有一个英文空格;如果命令中的选项值需要进行双引号的嵌套,使用反斜杠加引号 " \" " 来进行转义处理。

    option2:(无选项名称的)选项值,可用英文双引号括起来。

 

示例

(以管理Nginx服务为例)

添加服务

    sc create Nginx1.12.0 binpath= "D:\GreenSoftwares\nginx-1.12.0\nginx.exe -p \"D:/GreenSoftwares/nginx-1.12.0\"" DisplayName= "Nginx Web服务器 http://nginx.org" start= delayed-auto

    上面紧跟在create命令后面的 Nginx1.12.0 是自定义的服务名(不能包含空格符);

    binpath:启动服务时需要执行的命令(注意在等号右侧必须有一个英文空格,下同);

    DisplayName:服务的自定义显示名称;

    start:服务的启动类型。如: boot, system, demand (手动启动), auto (自动启动), delayed-auto (自动启动-延迟启动), disabled (禁止启动)

给服务设置描述信息

    sc description Nginx1.12.0 "启动或停止Nginx服务器"

修改服务配置

    使用sc config命令修改已有服务的一项或多项配置信息。

    修改显示名称:sc config Nginx1.12.0 DisplayName= "Nginx server v1.12.0"

    修改启动类型:sc config Nginx1.12.0 start= auto

查看服务状态

    sc query Nginx1.12.0

启动服务

    sc start Nginx1.12.0 ,该命令不会输出启动信息(或 net start Nginx1.12.0 ,会输出启动信息)

停止服务

    sc stop Nginx1.12.0,该命令不会输出停止信息 (或 net stop Nginx1.12.0,会输出停止信息)

删除服务

    sc delete Nginx1.12.0

 

参考和备忘

    我习惯于下载使用绿色版(即:zip压缩版)的MySQL数据库,因此需要将MySQL数据库添加为系统服务:

REM fileName: installServiceForMySQL.bat
REM 以管理员身份运行:将以下内容保存到bat文件中[注意修改为相应的实际存在的路径],并对文件名鼠标右击,选择“以管理员身份运行(A)”

REM 将本文件放在MySQL所在目录下的 /bin/ 目录下;然后再修改下面参数的ini文件路径为真实的路径
D:/mysql-5.5.16-winx64/bin/mysqld.exe --install-manual MySQL5.5.16 --defaults-file="D:/mysql-5.5.16-winx64/my-medium.ini"

REM 修改MySQL服务的启动方式:[demand (手动启动), auto (自动启动), delayed-auto (自动启动-延迟启动), disabled (禁止启动)]
sc config MySQL5.5.16 start= auto
REM 给MySQL服务增加描述信息:
sc description MySQL5.5.16 "启动、停止MySQL数据库服务"

    在Windows桌面的“计算机”图标上右击鼠标,选择“管理(G)”可快速进入“计算机管理”界面,其中在“服务和应用程序”下包含“服务”项,按 F5键 可刷新服务列表。

 

参考资源

使用SC命令来创建windows服务   http://chenzhou123520.iteye.com/blog/1463883

使用sc命令手动添加删除服务       https://www.52os.net/articles/sc-add-delete-windows-service.html

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部