帮助我自动化这个过程

帮助我自动化这个过程

我来自 Unix 背景,需要在 Windows Server 2003 上执行此操作。

基本上我有一个从 Windows 启动的命令行进程cmd.exe。我想实现以下目标:

  1. 使此过程在 Windows 启动时默认启动,无需用户登录即可启动它。

  2. 有一个桌面图标可以重新启动此后台进程(以防崩溃)。所以nohup mycommand &在 *nix 上类似“ ”的东西

答案1

启动时运行

使用以下方法将您的流程转变为 Windows 服务sc 命令.基本语法:

sc create NewServiceName binpath= c:\windows\system32\newserv.exe

请注意 后面的空格binpath=。创建服务后,您可以将其配置为像其他服务一样自动运行。如果您不清楚这一点,请转到开始菜单并选择Run。进入services.msc打开的窗口。这将打开 Microsoft 管理控制台中的服务管理单元。从这里您应该能够找到列出的服务(以及许多其他服务)并使用 GUI 工具将其设置为自动运行。您也可以将此部分作为命令的一部分sc create,但对于新手来说,可能更容易的是先创建该死的东西,然后使用 GUI 工具按您想要的方式进行设置。

最后需要注意的是,请确保使用具有适当权限的帐户运行此操作。服务或系统帐户最好,但有时您需要其他帐户。

按需重启

一个小的批处理文件(*.bat)就可以达到这个效果:

sc stop NewServiceName
sc start NewServiceName

答案2

在本地系统下运行的进程中创建一个服务。然后在桌面上创建一个批处理脚本来启动和停止该服务。

编辑:

以下是一些链接:
将程序作为服务运行
从命令行管理服务
制作批处理脚本

答案3

在 2003 Server 上,在 MMC 中打开本地计算机策略管理单元。展开计算机配置-Windows 设置,然后打开脚本(启动/关机)打开启动,然后您可以在那里添加脚本。它应该存储在 sysvol 共享中。

您还可以在桌面上创建此脚本的快捷方式

相关内容