亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? csdn_文檔中心_給應(yīng)用程序加裝“看門狗”.htm

?? csdn10年中間經(jīng)典帖子
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
            color=#ffffff>標題</FONT></TD>
          <TD><B>&nbsp;&nbsp;&nbsp;&nbsp;給應(yīng)用程序加裝“看門狗”</B>&nbsp;&nbsp;&nbsp;&nbsp;bhw98(原作) 
          </TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399><FONT color=#ffffff>關(guān)鍵字</FONT></TD>
          <TD width=500>&nbsp;&nbsp;&nbsp;&nbsp;進程 看門狗</TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR></TBODY></TABLE><!--文章說明信息結(jié)束//-->
      <TABLE border=0 width=600>
        <TBODY>
        <TR>
          <TD align=left><BR>
            <STYLE>P.bhw98 {
	FONT-FAMILY: Verdana, Arial; FONT-SIZE: 9pt; LINE-HEIGHT: normal; MARGIN: 10px 0px 5px; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
PRE.bhw98 {
	BACKGROUND-COLOR: #f0f0f0; FONT-SIZE: 9pt; LINE-HEIGHT: normal; MARGIN: 5px 0px; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; PADDING-TOP: 5px
}
PRE.diag {
	FONT-SIZE: 9pt; LINE-HEIGHT: normal; MARGIN: 5px 0px; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; PADDING-TOP: 5px
}
CODE.bhw98 {
	COLOR: #000000; FONT-SIZE: 9pt
}
TABLE.bhw98 {
	BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; FONT-FAMILY: Verdana, Arial; FONT-SIZE: 9pt; LINE-HEIGHT: normal; MARGIN: 3px 0px 10px
}
TD.bhw98 {
	BACKGROUND-COLOR: #f0f0f0; BORDER-BOTTOM: darkgray 1px solid; BORDER-LEFT: darkgray 1px solid; BORDER-RIGHT: darkgray 1px solid; BORDER-TOP: darkgray 1px solid; FONT-FAMILY: Verdana, Arial; FONT-SIZE: 9pt; LINE-HEIGHT: normal; MARGIN: 0px; PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 10px; PADDING-TOP: 3px
}
STRONG.bhw98 {
	COLOR: #228b22; FONT-FAMILY: Verdana, Arial; FONT-SIZE: 20pt; FONT-STYLE: italic; FONT-WEIGHT: bolder
}
LI.bhw98 {
	FONT-FAMILY: Verdana, Arial; FONT-SIZE: 9pt; LINE-HEIGHT: normal; MARGIN: 3px 0px 0px 3px
}
H1.bhw98 {
	FONT-FAMILY: Verdana, Arial; FONT-SIZE: 12pt; FONT-WEIGHT: bolder; LINE-HEIGHT: normal; MARGIN-BOTTOM: 5px; MARGIN-TOP: 25px
}
H2.bhw98 {
	FONT-FAMILY: Verdana, Arial; FONT-SIZE: 10.5pt; FONT-WEIGHT: bolder; LINE-HEIGHT: normal; MARGIN-BOTTOM: 5px; MARGIN-TOP: 20px
}
H3.bhw98 {
	FONT-FAMILY: Verdana, Arial; FONT-SIZE: 9pt; FONT-WEIGHT: bolder; LINE-HEIGHT: normal; MARGIN-BOTTOM: 5px; MARGIN-TOP: 15px
}
SPAN.key {
	COLOR: #0000ff
}
SPAN.num {
	COLOR: #800000
}
SPAN.str {
	COLOR: #8b008b
}
SPAN.rem {
	COLOR: #008000
}
</STYLE>

            <P 
class=bhw98>相信大多數(shù)的程序員或用戶,在Windows中見到類似于下面的親切而又溫馨的提示信息,都不會感到陌生:</P>
            <P 
            class=bhw98>“XXX執(zhí)行了非法操作,將被關(guān)閉。要終止程序,請單擊&lt;確定&gt;;要調(diào)試程序,請單擊&lt;取消&gt;。”或者,“是否向Microsoft發(fā)送錯誤報告?&lt;發(fā)送&gt;,&lt;不發(fā)送&gt;?!?lt;/P>
            <P 
            class=bhw98>如果這個程序運行在無人值守、需要保持連續(xù)工作狀態(tài)的場合,而其中的bug又一時難以排除,就需要采取應(yīng)急措施,消除或減少程序出錯造成的影響。本文討論解決這個問題的辦法。</P>
            <P 
            class=bhw98>做過一定硬件開發(fā)的人都知道,惡劣的工作環(huán)境,帶有缺陷的硬件設(shè)計,不完善的算法等內(nèi)外因素,都可能造成程序“跑飛”,因此專門加裝一個“看門狗”,負責監(jiān)視程序主體,必要時產(chǎn)生復位中斷,有效地避免設(shè)備當機。</P>
            <P 
            class=bhw98>“看門狗”的思想,完全可以拿到高級語言編程中來用。基本做法是:設(shè)計一個簡單的監(jiān)視程序做為主進程,將原來的工作程序作為子進程,由主進程啟動子進程并監(jiān)視子進程的運行狀態(tài)。子進程在發(fā)生嚴重錯誤時不彈出本文開始時描述的對話框,而是悄悄退出。主進程發(fā)現(xiàn)子進程退出后,重新啟動子進程。如此反復。</P>
            <P class=bhw98>在具體實現(xiàn)上,下面以VC為例說明:</P>
            <H3>設(shè)置子進程為“靜默模式”</H3>
            <P class=bhw98>在系統(tǒng)初始化部分(CWinApp或main中的開頭),調(diào)用API函數(shù)SetErrorMode</P><PRE class=bhw98>SetErrorMode(SEM_NOGPFAULTERRORBOX);</PRE>
            <P class=bhw98>保證程序在發(fā)生嚴重錯誤時不彈出對話框,無需人工干預,自行退出。</P>
            <H3>啟動子進程</H3>
            <P class=bhw98>在主進程中,創(chuàng)建子進程并運行。假定子進程的可執(zhí)行文件為work.exe,示意性代碼如下</P><PRE class=bhw98>STARTUPINFO si;
PROCESS_INFORMATION pi;
 
ZeroMemory( &amp;pi, sizeof(pi) );
ZeroMemory( &amp;si, sizeof(si) );
si.cb = sizeof(si);
 
// Start the child process
if (CreateProcess("work.exe", "", NULL, NULL, FALSE, 0, NULL, NULL, &amp;si, &amp;pi))
{
    // success
    … …
}
</PRE>
            <P 
            class=bhw98>CreateProcess有10個參數(shù),看起來挺嚇人,其實并不復雜,很容易理解。最后一個參數(shù)會返回子進程的ID和句柄等信息,后面就是對進程ID或句柄進行監(jiān)視。</P>
            <H3>監(jiān)視子進程</H3>
            <P 
            class=bhw98>定時檢查子進程是否在正常運行。有好幾個API都可以用于對指定ID的進程進行監(jiān)視,象GetProcessVersion,GetProcessTimes,GetProcessIoCounters等,其中GetProcessVersion最簡單,只有一個參數(shù):</P><PRE class=bhw98>DWORD GetProcessVersion( DWORD ProcessId);</PRE>
            <P class=bhw98>當子進程已經(jīng)退出時,該函數(shù)返回0。 
            <P class=bhw98>更為“專業(yè)”的函數(shù)是GetExitCodeProcess,它甚至能告訴我們子進程退出的原因:</P><PRE class=bhw98>BOOL GetExitCodeProcess(
    HANDLE hProcess,     // handle to the process
    LPDWORD lpExitCode   // termination status
);
</PRE>
            <H3>更進一步的考慮</H3>
            <P 
            class=bhw98>為增強系統(tǒng)的可靠性,給工作程序加裝“看門狗”,不失為一種可行的技術(shù)方案。但如果有兩套用戶界面,看起來就有點不那么專業(yè)了??蓪⒆舆M程設(shè)計為基于console的應(yīng)用,不帶用戶界面,所有的信息都通過主進程窗口輸出。主進程CreateProcess的第6個參數(shù)需加入CREATE_NO_WINDOW項,將子進程隱藏起來。這樣從用戶的角度看起來,就象只存在一個應(yīng)用程序。</P>
            <P 
            class=bhw98>另一個問題是,如果用戶關(guān)閉主進程,如何同時關(guān)閉子進程?用TerminateProcess函數(shù)固然能結(jié)束子進程,但可能會造成內(nèi)存泄漏等新問題。最好是主進程向子進程發(fā)出結(jié)束的消息并進行同步,使子進程能夠從容地退出。</P>
            <P 
            class=bhw98>再擴展一下,一個主進程可以同時管理多個子進程。典型的例子是利用多塊網(wǎng)卡進行抓包、分析、處理的系統(tǒng),將每一塊網(wǎng)卡應(yīng)用與一個子進程綁定,而主進程負責監(jiān)視所有的子進程的工作。</P>
            <P class=bhw98>上面的討論涉及到進程間通信(IPC)問題。解決的辦法有很多,象file mapping, 
            mailslot, pipe, DDE, COM, RPC, clipboard, socket, 
            WM_COPYDATA等都能達到目的,可根據(jù)個人喜好和具體情況采用。</P>
            <H2 class=bhw98>[相關(guān)資源]</H2>
            <LI class=bhw98>科腦工作室(Kernel Studio):<A 
            href="http://www.kernelstudio.com/">http://www.kernelstudio.com/</A> 

            <HR>

            <P align=right class=bhw98>發(fā)布日期: 2004-04-27 
            <P 
class=bhw98>&nbsp;</P><BR></LI></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE align=center bgColor=#006699 border=0 cellPadding=0 cellSpacing=0 
width=770>
  <TBODY>
  <TR bgColor=#006699>
    <TD align=middle bgColor=#006699 id=white><FONT 
    color=#ffffff>對該文的評論</FONT></TD>
    <TD align=middle>
      <SCRIPT src="CSDN_文檔中心_給應(yīng)用程序加裝“看門狗”.files/readnum.htm"></SCRIPT>
    </TD></TR></TBODY></TABLE>
<TABLE align=center bgColor=#666666 border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TD bgColor=#cccccc colSpan=3><SPAN style="COLOR: #cccccc"><IMG height=16 
      hspace=1 src="CSDN_文檔中心_給應(yīng)用程序加裝“看門狗”.files/ico_pencil.gif" width=16> 
      </SPAN>&nbsp;&nbsp;&nbsp;&nbsp; xrenwu <I>(2004-5-2 21:35:27)</I> </TD></TR>
  <TR>
    <TD bgColor=#ffffff colSpan=3 width=532><BR>好!支持 
<BR></TD></TR></TBODY></TABLE><BR>
<DIV align=center>
<TABLE align=center bgColor=#cccccc border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TH bgColor=#006699 id=white><FONT 
color=#ffffff>我要評論</FONT></TH></TR></TBODY></TABLE></DIV>
<DIV align=center>
<TABLE border=0 width=770>
  <TBODY>
  <TR>
    <TD>你沒有登陸,無法發(fā)表評論。 請先<A 
      href="http://www.csdn.net/member/login.asp?from=/Develop/read_article.asp?id=27281">登陸</A> 
      <A 
href="http://www.csdn.net/expert/zc.asp">我要注冊</A><BR></TD></TR></TBODY></TABLE></DIV><BR>
<HR noShade SIZE=1 width=770>

<TABLE border=0 cellPadding=0 cellSpacing=0 width=500>
  <TBODY>
  <TR align=middle>
    <TD height=10 vAlign=bottom><A 
      href="http://www.csdn.net/intro/intro.asp?id=2">網(wǎng)站簡介</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=5">廣告服務(wù)</A> - <A 
      href="http://www.csdn.net/map/map.shtm">網(wǎng)站地圖</A> - <A 
      href="http://www.csdn.net/help/help.asp">幫助信息</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=2">聯(lián)系方式</A> - <A 
      href="http://www.csdn.net/english">English</A> </TD>
    <TD align=middle rowSpan=3><A 
      href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG 
      border=0 height=48 src="CSDN_文檔中心_給應(yīng)用程序加裝“看門狗”.files/biaoshi.gif" 
      width=40></A></TD></TR>
  <TR align=middle>
    <TD vAlign=top>百聯(lián)美達美公司 版權(quán)所有 京ICP證020026號</TD></TR>
  <TR align=middle>
    <TD vAlign=top><FONT face=Verdana>Copyright &copy; CSDN.net, Inc. All rights 
      reserved</FONT></TD></TR>
  <TR>
    <TD height=15></TD>
    <TD></TD></TR></TBODY></TABLE></DIV>
<DIV></DIV><!--內(nèi)容結(jié)束//--><!--結(jié)束//--></BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av电影免费在线播放| 6080国产精品一区二区| 国产亲近乱来精品视频| 亚洲欧美乱综合| 日本va欧美va精品| 日韩欧美视频一区| 国产精品一卡二| 国产欧美日韩中文久久| 国产综合色视频| 欧美日韩aaaaaa| 日韩精品五月天| 日韩一区二区影院| 国产精品一区二区在线观看网站| 91精品国产欧美日韩| 玉足女爽爽91| 这里只有精品视频在线观看| 日韩一区二区免费视频| 日av在线不卡| 自拍偷拍欧美激情| 欧美性猛交xxxx黑人交| 久久综合精品国产一区二区三区 | 欧美亚洲动漫制服丝袜| 久久精品国产免费| 国产精品免费久久久久| 白白色 亚洲乱淫| 午夜精品久久久久久久久| 日韩一级免费一区| 欧美一区二区精品久久911| 一区二区三区在线视频免费观看| 日韩写真欧美这视频| 午夜伊人狠狠久久| 国产精品日韩成人| 日韩伦理av电影| 欧美国产激情二区三区 | 国产日产欧美精品一区二区三区| 成人黄色大片在线观看| 一区二区不卡在线播放 | www精品美女久久久tv| 久草热8精品视频在线观看| www成人在线观看| gogo大胆日本视频一区| 亚洲美女视频在线观看| 欧美精品一区二区三区一线天视频| 久久99在线观看| 一区二区三区av电影| 久久久99精品久久| 精品久久久久久久久久久久包黑料 | 国产午夜一区二区三区| 国产成人av影院| 亚洲成人你懂的| 亚洲综合在线免费观看| 91天堂素人约啪| 亚洲大片一区二区三区| 久久久久久免费毛片精品| 亚洲自拍另类综合| 欧美精品一卡二卡| 久久99热这里只有精品| 日韩欧美视频一区| 免费观看久久久4p| 国产欧美一区二区在线| 国产一区二区三区免费观看| 91传媒视频在线播放| 日韩欧美国产不卡| 成人高清在线视频| 蜜臀99久久精品久久久久久软件| 国产无一区二区| 欧美精品视频www在线观看 | 日韩一卡二卡三卡| 欧美va在线播放| 久久综合久久久久88| 欧美日韩一区 二区 三区 久久精品| 国产做a爰片久久毛片| 亚洲bt欧美bt精品777| 亚洲精品日韩一| 午夜精品一区二区三区免费视频 | 国产精品污网站| 久久久久久久久久久电影| 一本大道av伊人久久综合| 全国精品久久少妇| 99热99精品| 欧美电视剧免费全集观看| 日韩精品在线网站| 日韩无一区二区| 99久久综合色| 日韩精品一卡二卡三卡四卡无卡| 成人欧美一区二区三区白人| 91黄色免费观看| 成人激情图片网| 国产在线日韩欧美| 奇米精品一区二区三区在线观看| 亚洲精品免费播放| 亚洲视频你懂的| 中文欧美字幕免费| 成人av片在线观看| 久久亚洲二区三区| 色成人在线视频| 久久99久久久久| 自拍偷在线精品自拍偷无码专区| 欧美日韩中文精品| 国产综合久久久久久久久久久久| 国产精品伦一区二区三级视频| 一本到三区不卡视频| 美女在线视频一区| 亚洲欧洲美洲综合色网| 欧美伦理电影网| 国产99久久久国产精品潘金| 一区二区三区精品在线观看| 日韩视频在线观看一区二区| 成人午夜短视频| 日韩av在线免费观看不卡| 国产精品私房写真福利视频| 欧美在线短视频| 国产成人福利片| 青青草国产精品亚洲专区无| 中文字幕一区二区三区在线播放| 538prom精品视频线放| 国产iv一区二区三区| 五月激情丁香一区二区三区| 中文字幕国产一区二区| 91精品国产91综合久久蜜臀| av电影在线不卡| 国产真实乱偷精品视频免| 亚洲高清三级视频| 中文字幕亚洲综合久久菠萝蜜| 日韩三级av在线播放| 色偷偷88欧美精品久久久| 国产精品一区二区你懂的| 五月天激情小说综合| 亚洲欧美日韩国产手机在线| 久久久久久影视| 欧美电视剧免费全集观看| 欧美视频在线一区| 一本到不卡免费一区二区| 国产91露脸合集magnet | 国产午夜精品一区二区三区视频| 欧美精品自拍偷拍动漫精品| 国产成人8x视频一区二区| 精品无人区卡一卡二卡三乱码免费卡| 樱花草国产18久久久久| 国产精品丝袜一区| 国产精品污网站| 精品播放一区二区| www.日韩大片| 99精品桃花视频在线观看| 国产精品99精品久久免费| 国产呦精品一区二区三区网站| 美女国产一区二区| 日韩国产精品大片| 人禽交欧美网站| 久久福利视频一区二区| 极品少妇一区二区三区精品视频 | 天堂久久久久va久久久久| 亚洲综合区在线| 亚洲国产成人av| 亚洲国产美女搞黄色| 亚洲第一综合色| 日韩国产在线观看一区| 日韩电影在线观看一区| 奇米影视在线99精品| 精品一区二区三区在线观看国产| 国模套图日韩精品一区二区 | 91精品综合久久久久久| 91麻豆精品国产91久久久资源速度 | 国产超碰在线一区| 成人av影院在线| 欧美视频一区在线| 欧美日本不卡视频| 精品久久久久久久久久久久久久久 | 韩国三级在线一区| 丰满岳乱妇一区二区三区| 不卡一区二区中文字幕| 在线观看日韩精品| 91精品国产麻豆| 国产视频一区二区在线观看| 日韩一区在线看| 天天综合色天天| 大尺度一区二区| 欧美日韩情趣电影| 久久久亚洲精品石原莉奈| 自拍视频在线观看一区二区| 爽好多水快深点欧美视频| 国产激情一区二区三区四区 | 精品国产91久久久久久久妲己| 久久免费视频一区| 亚洲激情六月丁香| 久久不见久久见免费视频7 | 精品一区二区久久久| 99久久精品免费| 日韩欧美一区在线| 日韩一区在线免费观看| 日本亚洲三级在线| 色综合色狠狠天天综合色| 日韩一区二区免费在线观看| 中文字幕一区二区三区蜜月| 日韩中文字幕一区二区三区| 成人av电影在线| 精品久久久久香蕉网| 一区二区三区在线播放| 国产河南妇女毛片精品久久久 | 高清成人免费视频|