【问题标题】:Log Process execution记录流程执行
【发布时间】:2014-01-24 23:50:36
【问题描述】:

我正在尝试使用这段代码从同一个 Windows 服务重新启动一个 Windows 服务

var proc = new Process();
var psi = new ProcessStartInfo();

psi.CreateNoWindow = true;
psi.FileName = "cmd.exe";
psi.Arguments = "/C net stop \"EmailService-3.1.0\ && net start \"EmailService-3.1.0\"";
psi.LoadUserProfile = false;
psi.UseShellExecute = false;
psi.WindowStyle = ProcessWindowStyle.Hidden;
proc.StartInfo = psi;

它不起作用,我不知道为什么,我可以做些什么来记录或确定正在发生的事情或在调用 net stop 命令时获取正在发生的事情的输出?

【问题讨论】:

  • other ways从内部停止服务
  • 我正在尝试从同一个 Windows 服务中执行此操作。
  • 你看到链接了吗?它没有真正突出显示:stackoverflow.com/questions/11770206/…
  • 我想重启而不是停止。我已经更新了问题

标签: c# .net


【解决方案1】:

您可以重定向 net stop 命令的输出,但根据 TomT 的评论,这似乎是一种非常迂回的重启服务的方式。

psi.Arguments = "/C net stop \"EmailService-3.1.0\" > C:\\svclog.txt "; //&& net start \"EmailService-3.1.0\"";

【讨论】:

    【解决方案2】:

    我可以在停止命令中看到您的服务名称后缺少引号。否则可能是权限问题。也许您的服务已登录的用户没有足够的权限来停止服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-26
      相关资源
      最近更新 更多