【问题标题】:Spawning a process from a windows service running as Network Service从作为网络服务运行的 Windows 服务生成进程
【发布时间】:2012-01-14 08:54:35
【问题描述】:

我发现很多帖子似乎都在处理这些情况,但我找不到一个确定的答案。

我有一个作为网络服务运行的 Windows 服务。它在此帐户下运行,因为它必须访问独立安装的 SharePoint 上的 SharePoint API。

我需要 Windows 服务来启动另一个进程,使用 Process.Start,也作为网络服务运行。此过程是由其他人开发的单独程序,它也与 SharePoint 交互。我的服务需要启动它们,向它们查询一些数据,然后关闭它们(无 UI)。

问题在于,由于某种原因,进程在启动后立即被终止。我已经针对完整的 SharePoint 安装(不是独立的)对此进行了测试,其中 Windows 服务作为 AD 帐户运行,并且工作正常。

所以,我认为不允许网络服务创建新进程?我在事件查看器中看不到任何错误。

任何帮助将不胜感激!

【问题讨论】:

  • 您可以使用procmon 来查看进程在启动和终止之间的作用?
  • 是的,这是个好主意 - 我启动了它,但我还没有发现问题。我唯一的线索是,在我创建访问 Program Files 中所需的某些文件的过程中可能存在问题。

标签: c# sharepoint process windows-services network-service


【解决方案1】:

没有什么 (AFAIK) 可以阻止在网络服务下运行的进程运行另一个进程。

我认为这是一个红鲱鱼 - 我怀疑问题不是启动另一个进程,而是另一个进程试图做一些网络服务不允许的事情。

要确定如何使用“/t”参数启动诸如“time.exe”之类的其他东西 - 如果这可行,那么问题不是启动进程而是运行进程。

【讨论】:

  • 感谢您确认该过程应该可以正常运行。我会按照您的建议尝试运行其他类似“time.exe”的东西。我注意到我能够在我的 Windows 服务之外手动启动该过程(在我的域帐户下运行)并且它工作正常。但是,是的,这可能会变成一条红鲱鱼。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多