Windows2008操作系统 IIS7 IIS7.5 进程池经常死最终解决方案
作为一个服务器维护人员,经常遇到不可解决的问题,这问题一直存在,一直困扰我多时,经常凌晨1-2点起床,就为了重启一下进程池
错误应用程序名称: w3wp.exe,版本: 7.5.7600.16385,时间戳: 0x4a5bd0eb
错误模块名称: ntdll.dll,版本: 6.1.7600.16385,时间戳: 0x4a5be02b
异常代码: 0xc0000374
错误偏移量: 0x00000000000c6cd2
错误进程 ID: 0xb54c
错误应用程序启动时间: 0x01d0c0d94f91529a
错误应用程序路径: c:\windows\system32\inetsrv\w3wp.exe
错误模块路径: C:\Windows\SYSTEM32\ntdll.dll
报告 ID: 8e9b8672-2ccc-11e5-9d45-90b11c3fe265
// string method_Recycle = "Recycle"; //Start开启 Recycle回收 Stop 停止
string method_Start = "Start";
DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
try
{
foreach (DirectoryEntry item in appPool.Children)
{
string AppPoolCommand = item.Properties["ManagedPipelineMode"].Value.ToString();
string ManagedRuntimeVersion = item.Properties["ManagedRuntimeVersion"].Value.ToString();//,net版本号
string AppPoolState = item.Properties["AppPoolState"].Value.ToString();//当前状态
if (AppPoolState != "2")
{
DirectoryEntry findPool = appPool.Children.Find(item.Name, "IIsApplicationPool");
findPool.Invoke(method_Start, null);
appPool.CommitChanges();
appPool.Close();
var IIsMsg = string.Format("[{0}],名称:[{1}],NET版本:{2},标识:{3},当前状态:[{4}],时间:{5}\n", "Windows2008 Server", item.Name, ManagedRuntimeVersion, item.SchemaClassName, "已启动", DateTime.Now.ToString());
WriteText(IIsMsg);
ImportDataLog.WriteLog(item.Name, IIsMsg);
}
}
//lblCount_text.Text = i.ToString();
}
长期运行,给别人再CC攻击多几下都没问题,自动启动进程池!!
Windows2008操作系统 IIS7 IIS7.5 进程池经常死最终解决方案的更多相关文章
- 使用进程池规避Python的GIL限制
操作系统 : CentOS7.3.1611_x64 python版本:2.7.5 问题描述 Python的GIL会对CPU密集型的程序产生影响,如果完全使用Python来编程,怎么避开GIL的限制呢? ...
- python并发编程之多进程(三):共享数据&进程池
一,共享数据 展望未来,基于消息传递的并发编程是大势所趋 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合 通过消息队列交换数据.这样极大地减少了对使用锁定和其他同步手段的需求, 还可以扩展 ...
- python系列之 - 并发编程(进程池,线程池,协程)
需要注意一下不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池.其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不能一直去自己加 ...
- python进程、进程池(二)代码部分
第一种创建进程的方式: from multiprocessing import Process def f(name): print(name,"在子进程") if __name_ ...
- 进程间通信(队列、管道)、消费者模型和进程池(apply,apply_async,map)
一.队列(先进先出) 进程间通信:IPC(Inter-Process Communication) 队列是使用管道和锁定实现,所以Queue是多进程安全的队列,使用Queue可以实现多进程之间的数据传 ...
- 线程池、进程池(concurrent.futures模块)和协程
一.线程池 1.concurrent.futures模块 介绍 concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor:线程池,提供异步调用 Pro ...
- python摸爬滚打之day032 管道 数据共享 进程池
1.进程池 当有成千上万个任务需要被执行的时候,有了进程池我们就不必去创建大量的进程. 首先,创建进程需要消耗时间,销毁进程(空间,变量,文件信息等等的内容)也需要消耗时间, 第二即便开启了成千上万的 ...
- Python 多进程和进程池
一,前言 进程:是程序,资源集合,进程控制块组成,是最小的资源单位 特点:就对Python而言,可以实现真正的并行效果 缺点:进程切换很容易消耗cpu资源,进程之间的通信相对线程来说比较麻烦 线程:是 ...
- 2019-04-19-day036-协程与进程池
内容回顾 11:30 码云 :王老师检查作业+定期抽查 注册账号 考试的时间 threading.enumerate(),能够获取到当前正在运行的所有线程对象列表 守护线程 守护线程会等待所有的非守护 ...
随机推荐
- maven 本地仓库的配置
<?xml version="1.0" encoding="UTF-8"?> <!--Licensed to the Apache Softw ...
- Memcached stats slabs 命令
Memcached stats slabs 命令用于显示各个slab的信息,包括chunk的大小.数目.使用情况等. 语法: stats slabs 命令的基本语法格式如下: stats slabs ...
- SSM 框架搭建 idea环境
参考: https://www.cnblogs.com/toutou/p/ssm_springmvc.html https://www.cnblogs.com/toutou/p/ssm_springm ...
- 24.Java中atomic包中的原子操作类总结
1. 原子操作类介绍 在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比如多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchr ...
- js中删除数组中某一项的方法
1:js中的splice方法 splice(index,len,[item]) 注释:该方法会改变原始数组. splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 inde ...
- VMware虚拟机创建安装之后不出现VMnet1和VMnet8虚拟网卡
大家可能遇到过安装虚拟机之后,不出现这两张虚拟网卡,造成一系列的网络问题 VMware虚拟机无法将网络改为桥接状态 本人亲试可行的解决办法 首先把你之前安装的VMware虚拟机卸载,清理得一干二净: ...
- Linux 文件与目录管理,Linux系统用户组的管理
一.Linux 文件与目录管理 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什 ...
- scale的空白问题
使用scale对表格进行缩放 出现大片空白问题 一直没有很好地重视这个问题,导致这次不得不面对,经过各种搜索,各种尝试,终于解决了这个留白问题 思路 大小盒子,小盒子进行缩放,大盒子依据缩放来进行动态 ...
- 身份证真实性校验js、mini ui身份证长度正则验证
身份证号码真实性校验 <input type="text" value="请输入身份证号" id="cards" ><bu ...
- Django 中设置分页页码,只显示当前页以及左右两页
设置后的效果如下: Django 给我们提供了分页的功能:`Paginator`和`Page`类都是用来做分页的.他们在Django中的路径为:`from django.core.paginator ...