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

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:(无选项名称的)选项值,可用英文双引号括起来。

示例

添加服务

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

文章目录