sc命令在注册服务并指定默认启动参数

Windows系统的SC命令是用于与服务控制管理器通信的命令行程序。

sc命令在创建的服务并指定默认启动参数,【注意:CMD窗口要求是管理员权限运行】

正确的例子:sc create redis binpath= "反斜线"C:\Software\server\Redis\redis-server.exe反斜线" --service-run 反斜线"rdis.windows-service.conf反斜线"" start= auto

错误的例子:sc create redis binpath= "C:\Software\server\Redis\redis-server.exe" --service-run "rdis.windows-service.conf" start= auto

总结: binpath= "是一个命令,参数也是在这一句话中,有特殊符号要转义"

需要配置redis的可以往下继续看,以下是我做的记录

将redis软件安装到系统服务,并且开机自动启动的两种方法,作为例子来说明一下

方法1:通过redis的自带工具安装,【注意:需求进去到你redis软件所在目录】
redis-server --service-install redis.windows-service.conf --loglevel verbose
手动启动redis服务,通过service-name:redis-server --service-start --service-name redis
手动停止redis服务,通过service-name:redis-server --service-stop --service-name redis

方法2:通过windows的sc命令安装,【注意:CMD窗口要求是管理员权限运行】

其实这个命令一般就够用的了,只是有的软件启动时候要指定配置文件参数,那么就需要指定一下

sc create redis binpath= "C:\Software\server\Redis\redis-server.exe"

设置自动启动, 参数解释 start= (默认 = demand)

sc config redis start= AUTO

sc config 服务名 start= AUTO (自动)
sc config 服务名 start= DEMAND (手动)
sc config 服务名 start= DISABLED(禁用)


sc命令在创建的服务并指定默认启动参数

正确的例子:sc create redis binpath= ""C:\Software\server\Redis\redis-server.exe" --service-run "rdis.windows-service.conf"" start= auto

错误的例子:sc create redis binpath= "C:\Software\server\Redis\redis-server.exe" --service-run "rdis.windows-service.conf" start= auto

总结: binpath= "是一个命令,参数也是在这一句话中,有特殊符号要转义"

参考: https://blog.csdn.net/dhq_blog/article/details/82950513

查询:sc query redis
启动:sc start redis
关闭:sc start redis
删除:sc delete redis
注意:删除服务时可能会出现The specified service has been marked for deletion提示解决办法:
1.关闭GUI,services再执行一遍删除服务命令
2.删除注册表:到注册表中找“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services”,然后找到对应的servicesname删除

GUI查看系统服务

通过在命令行运行services.msc打开系统服务


todo 优化系统--关闭不需要的服务就可利用命令来完成

禁用win索引磁盘

sc config WSearch start= DISABLED

todo 开机软件向微信一样自启动

sc create idea binpath= "C:\Pro\JetBrains\IntelliJ IDEA 2019.1.1\bin\idea64.exe"

使用sc create 方法创建。
如:
sc create CaptureScreen binpath= F:\zwmei-project\decklink-learning\OutputBitmap\Debug\OutputBitmap.exe type= own start= auto displayname= Screen_Capture
其中 CaptureScreen为服务名,可以在系统服务中找到,(通过在命令行运行services.msc打开系统服务)。binpath为你的应用程序所在的路径。 displayname为服务显示的名称,这个在注册表中可以找到,
(通过在命令行中输入regedit打开注册表,在HKEY_LOCAL_MACHINE -- SYSTEM -- CurrentControlSet 下找到你的服务显示名)
注意:在sc命令中,=号前面不能有空格,而=号后面必须有一个空格,切记。另外要以管理员的身份打开命令行。
这种方法不一定能成功,如果你的exe不符合服务的规范,可能会启动失败。

%programdata%\Microsoft\Windows\Start Menu\Programs\Startup

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

你可能感兴趣的:(sc命令在注册服务并指定默认启动参数)