场景WCF应用程序部署在IIS7中,使用net.tcp协议对外给几百台客户端提供服务,应用程序池不断崩溃重启。分析过程在事件查看器中看到的错误信息类似于为应用程序池“XX”提供服务的进程在与
Windows Process Activation Service 通信时出现严重错误使用windbg在崩...
C#获取当前路径的方法如下:1.
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName-获取模块的完整路径。2.
System.Environment.CurrentDirectory-获取和设置当前目录(该进程从中启动...
分类:
其他好文 时间:
2014-05-08 11:52:05
阅读次数:
240
Nginx的高性能的是用很多细节来保证,epoll下的多路io异步通知,阶段细分化的异步事件驱动,那么在内存管理这一块也是用了很大心血,上一篇我们讲到了slab分配器,我们可以可以看到那是对共享内存的管理的优化。Nginx在进程内也实现了自己的内存池,目的在于减少内存碎片,减少向操作系统的申请次数,减低模块开发难度。Nginx实现的内存池实际上非常简单。...
分类:
其他好文 时间:
2014-05-08 00:37:29
阅读次数:
403
LF指的是Executable and Linkable Format。最初是由UNIX系统实验室作为应用程序二进制接口开发和发行的,后来逐渐发展成为了可执行文件的格式标准,在很多操作系统和非操作系统环境中都有非常广泛的应用。完整的ELF格式标准涉及了三个方面的内容。在这里我们只需要关心一个方面,那就是一个ELF格式可执行程序的组成结构。
一个ELF可执行文件格式如图8-1所示。
像图8-1那...
分类:
其他好文 时间:
2014-05-08 00:16:58
阅读次数:
367
exit.c 代码分析笔记
release
释放进程的函数release() 主要根据指定进程的任务数据结构指针,在任务数组中删除指定的进程指针,释放相关内存页,并立刻让内核重新调度进程的运行。
void release(struct task_struct * p) //释放p指向的进程
{
int i;
if (!p) //常规检测...
分类:
系统相关 时间:
2014-05-07 23:35:51
阅读次数:
576
defgetResult(cmd,timeout=2):#命令超时时间
deadline=time.time()+timeout
r=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
whiletime.time()<deadlineandr.poll()isNone:
time.sleep(0.1)
ifr.poll()isNone:#检查子进程
r.kill()
r.wait()
return‘‘
r.wait()
..
分类:
编程语言 时间:
2014-05-07 22:30:17
阅读次数:
504
nginx的配置:正常运行的必备配置:1、userusername[groupname];指定运行worker进程的用户和组2、pid/path/to/pidfile_namenginx的pid文件3、worker_rlimit_nofile#;一个worker进程所能够打开的最大文件句柄数;4、worker_rlimit_sigpending#;设定每个用户能够发往worker进程的..
分类:
其他好文 时间:
2014-05-07 22:23:03
阅读次数:
439
varnish系统架构:varnish主要运行两个进程:Management进程和Child进程(也叫Cache进程)。Management进程主要实现应用新的配置、编译VCL、监控varnish、初始化varnish以及提供一个命令行接口等。Management进程会每隔几秒钟探测一下Child进程以判断其是否正常运行,如果在指定..
分类:
其他好文 时间:
2014-05-07 21:58:43
阅读次数:
604
利用OTP行为包构建的应用之所以可靠,是因为我们按照OTP的设计模式,将所有进程组织成了一棵可靠的supervisor tree。每一个supervisor监控其子进程,并在其子进程出错时按照重启策略进行相应的处理。
但是,你是否考虑过,如果supervisor意外终止,其子进程会怎样?当然,直觉告诉我们连监控进程的没有了,所有的子进程应全部终止。但是,你在代码中是否真正考虑过这种情况?你的...
分类:
其他好文 时间:
2014-05-07 21:52:20
阅读次数:
350
一、gdb的功能:
1、启动被调试程序。
2、让被调试的程序在指定的位置停住。
3、当程序被停住时,可以检查程序状态
4、动态的改变程序的执行环境
二、gdb的基本使用流程:
1、编译生成可执行文件 :gdb -g hello.c -o hello
2、启动gdb :gdb hello
3、在某处设置断点 ...
分类:
数据库 时间:
2014-05-07 21:30:23
阅读次数:
327