【发布时间】:2009-02-17 13:34:27
【问题描述】:
我用于编程的主要计算机是我用于游戏等的同一台计算机。因此,为了提高游戏速度,我在启动时关闭了 Apache、MySQL、Subversion 等服务,因为我将其用于游戏的比例约为 50/50 /编程。
这在大多数情况下都很好,但单独启动它们有点麻烦。
有人可以告诉我如何编写批处理文件或类似的东西来启动所有服务吗?
【问题讨论】:
我用于编程的主要计算机是我用于游戏等的同一台计算机。因此,为了提高游戏速度,我在启动时关闭了 Apache、MySQL、Subversion 等服务,因为我将其用于游戏的比例约为 50/50 /编程。
这在大多数情况下都很好,但单独启动它们有点麻烦。
有人可以告诉我如何编写批处理文件或类似的东西来启动所有服务吗?
【问题讨论】:
你可以写一个像这样的批处理文件
net start "Service Name"
还应该有一种方法可以将服务依赖链接在一起,所以当一个启动时,其他所有服务也会启动。我会看看我是否能找到开关来做到这一点。
编辑:
我还没有尝试过,但这应该会告诉您在注册表中的哪个位置可以使服务相互依赖并自动启动:
http://www.softwaretipsandtricks.com/windowsxp/articles/490/1/Removing-Service-Dependencies
【讨论】:
您也可以通过调用来让服务并行启动:
SC START 服务名称
我不知道这是否有帮助......
除非您真的知道自己在做什么,否则我不会弄乱服务的依赖关系。
【讨论】:
启动服务的命令是"net start <servicename>"。只需将您需要的命令添加到名为Something.bat 的文件中并运行它。简单。:)
net stop <service name> 也会阻止他们。
【讨论】:
如果你使用的是 powershell,你可以这样做:
"service1", "service2" | %{ start-service $_ }
以上解释如下:
foreach 命令(即% 符号)foreach 命令将运行代码块(由{ } 分隔),“当前项”由$_ 表示
start-service
【讨论】:
如果你有一个通用名称,只需使用 powershell
启动服务
Get-Service *pattern* | start-service
停止服务
Get-Service *pattern* | stop-service
【讨论】:
我在这方面有点晚了,虽然我正在研究类似的东西。
创建一个批处理文件并在该批处理文件中使用 sc 命令:
sc 启动“第一个服务名称” sc 启动“第二个服务名称”
等等…… 保存批处理文件并双击它运行它,或者安排它相应地运行。
【讨论】:
就像提到的其他答案一样,编写批处理/cmd 文件可以创造奇迹。
@echo off
echo Press any key to start the Services
echo ===================================
pause
echo Starting Apache
net start Apache
echo Starting MySQL
net start MySQL
echo Starting Subversion
net start Subversion
echo == Services have started ==
timeout 3
exit /b
【讨论】:
更简单的方法:
安装 ps 工具(它为开发人员提供了很多非常酷的命令行工具)
ps工具自带的工具之一是 PsService
您可以使用 start 和 stop 开始停止您的服务
【讨论】:
虽然我迟到了,但这正是你所需要的。 ProgramUtilityv1 我也在寻找这样的应用程序,所以我自己编写了它。它仅适用于 Windows,也适用于 Windows Vista 及更高版本。我很快也会发布一个 linux 版本。
【讨论】: