Windows Process Activation Service (WAS) 在启动工作进程为应用程序池提供服务时遇到故障

Posted

技术标签:

【中文标题】Windows Process Activation Service (WAS) 在启动工作进程为应用程序池提供服务时遇到故障【英文标题】:Windows Process Activation Service (WAS) encountered a failure when it started a worker process to serve the application pool 【发布时间】:2012-05-16 01:59:58 【问题描述】:

浏览到http://localhost/ 时,IIS 7 应用程序池停止

在事件查看器 -> 我看到的系统日志:

应用程序池 ASP.NET v4.0 已被禁用。窗口进程 激活服务 (WAS) 在启动 为应用程序池提供服务的工作进程。

我是否可以采取其他故障排除步骤来查看有关为什么会发生这种情况的更详细消息?

【问题讨论】:

您可能会导致池崩溃,请参阅***.com/questions/3044752/how-do-i-crash-the-app-pool/… 当我浏览 localhost 时会发生这种情况,它指向 'C:\inetpub\wwwroot' 中只有 iisstart.htm 的默认站点,所以它不应该运行任何代码。 我可以请求您将其中一个答案标记为已接受。 janjonas 的回答帮助了很多用户,包括我:) 【参考方案1】:

如果您的应用程序池以特定身份运行,则密码过期可能是导致问题的原因。

我也有类似的问题,见http://blog.janjonas.net/2012-07-14/iis_75-fix-application-pool-disabled-windows-process-activation-service-failure-worker-process-event-id-5059

【讨论】:

这正是发生的事情。非常感谢这个答案。在弄清楚这一点之前,我可以看到我燃烧了几个小时...... 另一个 +1。我玩弄了导致应用程序池重新启动的处理器关联设置。我几乎不知道最初设置它的人在几天前更改了池帐户的密码。 当第一个搜索结果产生有效的答案时,我喜欢它! +100! /facepalm 非常感谢。 正是发生在我身上的事情。谢谢。【参考方案2】:

检查帐户或组是否已检查“作为批处理作业登录”权限。要在域控制器上更改此策略,请执行以下步骤:

开始>运行 gpmc.msc - 编辑 选择林>域>域名>域控制器 右键单击“默认域策略”并选择编辑 下一个编辑: 计算机配置>策略>Windows 设置>安全设置>本地策略>用户权限分配 将用户或组添加到“作为批处理作业登录” 如果某个特定组正用于此目的,请检查服务帐户(在 Active Directory 中)的组成员身份。 从命令提示符运行“gpupdate /force”

注意:这是针对 SharePoint 2010 问题的解决方案。

【讨论】:

这原来是我的问题,我不知道这个应用程序已经运行多年并且几乎没有触及服务:/ @rainabba 很高兴它有帮助!我记得这花了我一点时间才弄清楚。感谢您的支持!【参考方案3】:

在我的开发机器中添加到 janjonas,我将 PW 更改为帐户,但我不知道我必须将用户重新设置为在该用户下运行的每个池

【讨论】:

【参考方案4】:

在 IIS 中,转到应用程序池,然后检查应用程序池的标识。

应用程序池是否使用自定义帐户?有必要吗?

尝试将识别更改为内置帐户,例如 ApplicationPoolIndentity。为此,请转到高级设置、流程模型、身份。请记住在进行更改后重新启动应用程序池。

【讨论】:

【参考方案5】:

我做了以下步骤。

    Windows+R 打开运行并输入 services.msc 搜索 Windows Process Activation Service 并为我启动它已停止的服务。 Windows+R 输入 inetmgr。 重启所有应用程序池。 尝试在“站点”下启动该网站,如果它给出了一个错误,指出由于 World Wide Web Publishing 服务已停止而无法启动该服务。 重复步骤 1。 搜索 World Wide Web Publishing 服务,然后重新启动该服务。

【讨论】:

就我而言,这些重启正是我发现操作列出的错误的方式。【参考方案6】:

在我的例子中:我已经看到应用程序池以正确的身份运行,但我仍然看到“WAS 遇到故障......”。因此,我通过在高级设置 --> 身份 --> 自定义帐户中重新添加用户来再次设置相同的身份,重新启动 IIS 并且它起作用了!

【讨论】:

以上是关于Windows Process Activation Service (WAS) 在启动工作进程为应用程序池提供服务时遇到故障的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Boost.Process 从“类型”(Windows)获取跟踪?

process.send 是 *nix/Windows 上的同步/异步?

windows process count

未从实时 ETW 消费者接收 Microsoft-Windows-Kernel-Process 事件

System.Diagnostics.Process.Start() 从 Windows 服务调用时无法启动进程

Windows 上的 Boost::process - 使用 MinGW?