Windows启动作业是否基于会话

时间:2016-04-26 08:42:07

标签: powershell amazon-ec2 user-data windows2012

当我将启动作业配置为部分窗口ec2用户数据

start-job -ScriptBlock {consul agent -data-dir C:\\consul\\logs -config-dir C:\\consul\\conf.d\\}
Start-Sleep -s 30

在实例状态变为可用后不久我登录到机器并使用以下命令检查服务是否在后台运行

Jobs

结果显示没有作业正在运行

我的问题

  1. 启动作业是基于会话的
  2. 即使用户数据执行完成后如何使开始工作正常工作
  3. 将获得有关此问题的工作职能

1 个答案:

答案 0 :(得分:0)

如果您需要将Consul代理作为服务运行,请尝试使用sc命令行实用程序创建实际服务:

sc.exe create <name> 'binPath= <commandline>' start= <starttype>

请注意,=字符是选项名称的一部分,因此必须有一个空格,但前面没有空格。

在你的情况下,命令可能看起来像这样:

sc.exe create ConsulAgent 'binPath= C:\consul\consul.exe agent -data-dir C:\consul\logs -config-dir C:\consul\conf.d' start= auto

如果命令行包含带空格的路径,则需要将这些路径放在双引号中。

可以像这样删除服务:

sc.exe delete ConsulAgent