`
cfeers
  • 浏览: 141430 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

delphi 双进程守护

阅读更多
这是一个关于父亲与儿子的故事:

父亲的一生:①生一个儿子。如果儿子被杀了,再生一个!
             ②工作。

儿子的一生:等着父亲被杀,取而代之(成为父亲)。

这则故事已经完整地表达了我想要表达的全部思想,我们可以通过假设“父亲被杀了”或“儿子被杀了”来领会它。

废话少说,看源码:

program Oliver;

uses
   Windows;

procedure WaitForAncestor;
var
   MutexName: String;
   MutexHandle: THandle;
begin
   MutexName := '110';
   MutexHandle := OpenMutex(SYNCHRONIZE, True, PChar(MutexName));
   if (MutexHandle <> 0) then
   begin
     WaitForSingleObject(MutexHandle, INFINITE);
     CloseHandle(MutexHandle);
   end;
   CreateMutex(nil, True, PChar(MutexName));
end;

procedure RunSuccessor;
var
   StartupInfo: TStartupInfo;
   ProcessInfo: TProcessInformation;
begin
   while (True) do
   begin
     CreateProcess(PChar(ParamStr(0)), nil, nil, nil, True, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo);
     WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
   end;
end;

begin
   WaitForAncestor;
   RunSuccessor;
end.
分享到:
评论

相关推荐

    DELPHI进程守护源码

    2. `ServerDPR.exe` 是编译后的可执行文件,即守护进程本身,它将运行在用户系统上,执行守护任务。 3. `Unit_FormMain.dfm` 和 `Unit MainForm.pas` 文件代表了程序的主窗体(Form)和对应的Pascal源代码文件。它们...

    Delphi写的守护进程(服务程序)

    《使用Delphi构建守护进程(服务程序)》 在IT领域,守护进程和服务程序是操作系统中不可或缺的部分,它们常在后台运行,确保关键任务的稳定执行。本文将深入探讨如何利用Delphi编程语言来创建一个守护进程,该进程...

    Delphi写的守护进程.zip

    《Delphi编写的守护进程详解》 在IT领域,守护进程(Daemon)是一种在后台运行且没有用户界面的程序,通常用于执行特定的任务,如监控系统状态或提供网络服务。在Windows操作系统中,我们可以利用Delphi这样的编程...

    delphi获取进程和进程ID

    Delphi显示进程列表 Delphi取得某进程EXE路径 Delphi取得窗口列表 Delphi取得窗口进程路径 Delphi获取文件属性 Delphi判断程序是否在运行

    DELPHI隐藏进程源代码

    在标题“DELPHI隐藏进程源代码”中提到的“隐藏进程”是指在操作系统中使一个正在运行的程序不被用户在任务管理器或者资源管理器中看到的技术。这种技术通常用于安全、隐私或者调试目的,但也可能被恶意软件滥用。在...

    自动重启+进程守护

    在IT领域,"自动重启+进程守护"是一个重要的系统管理和自动化任务执行的概念。这个主题主要涉及到计算机系统的自动化操作,如定时重启以及确保特定程序在系统启动后或在运行过程中得到稳定执行的进程守护功能。 ...

    进程守护软件_系统托盘(用D10.2.3编辑)

    【进程守护软件_系统托盘(用D10.2.3编辑)】是一个使用Delphi 10.2.3开发的64位应用程序,它设计的主要功能是作为进程守护者并以系统托盘图标的形式运行。在这个项目中,开发者利用了Delphi的组件和编程特性来创建...

    delphi 实现进程自动监控、重启,非控件实现托盘程序

    在本文中,我们将深入探讨如何使用Delphi编程语言来实现一个功能强大的进程自动监控和重启系统,同时,这个系统是非控件实现的托盘程序,这意味着它能够在系统托盘区运行,提供低调且高效的后台服务。这个解决方案...

    DELPHI强制关闭进程

    1. **获取进程ID**:在Delphi中,要强制关闭一个进程,首先需要知道该进程的进程ID。可以通过`GetWindowThreadProcessId`函数获取指定窗口的进程ID,或者通过枚举所有进程(使用`CreateToolhelp32Snapshot`和`...

    delphi使用双缓冲和不使用双缓冲对比

    双缓冲技术在图形编程中是一种优化策略,尤其是在 Delphi 这样的编程环境中,它能显著提升界面绘制的平滑度和性能。双缓冲的主要目的是减少屏幕闪烁和图像撕裂,提高用户界面的视觉质量。 在Delphi中,双缓冲主要...

    Delphi结束进程实例

    本实例将深入探讨如何利用Delphi来结束一个正在运行的进程,这对于系统管理和调试程序非常有用。在Windows操作系统中,进程是执行中的程序实例,而结束进程则意味着终止其执行,释放其所占用的系统资源。 首先,...

    Delphi如何关闭一个进程

    在Delphi编程环境中,有时我们需要对操作系统中的进程进行管理,比如关闭某个进程。"EndProcess"函数就是这样一个用于结束进程的实用程序。本篇将详细解释如何在Delphi中使用`EndProcess`来关闭一个进程,以及涉及的...

    delphi 杀进程

    这个"Delphi 杀进程"的项目涉及到的核心知识点是如何使用Delphi编程来终止一个正在运行的进程。下面将详细解释这个过程以及相关的关键概念。 首先,我们需要理解“进程”在操作系统中的含义。进程是操作系统资源...

    DELPHI 所有进程级按标题查子进程 源程序

    本主题聚焦于一个特定的编程任务:在Delphi中查找所有进程中的子进程,特别是基于窗口标题进行搜索。这样的功能对于系统监控、调试或者自动化工具来说非常有用。 首先,我们需要了解进程和子进程的概念。在操作系统...

    Linux系统中守护进程的创建方法.pdf

    "Linux系统中守护进程的创建方法" Linux 系统中守护进程是指在后台运行而又无终端或登录 shell 与之相关联的进程。守护进程可以周期性地执行某种任务或等待处理某些特定的事件,是一种很有用的进程。Linux 的...

    delphi通过pid获取进程路径

    delphi通过pid获取进程路径

    Delphi关闭进程源码

    这个"Delphi关闭进程源码"是一个示例程序,它展示了如何在Delphi中编写代码来列出系统中的所有进程并能选择性地结束它们。这种功能在系统管理和调试时非常有用。 首先,我们要理解在Delphi中操作进程的基础知识。在...

    Delphi拦截进程测试程序..rar

    标题 "Delphi拦截进程测试程序" 暗示了这个压缩包包含了一个使用Delphi编程语言编写的程序,用于测试进程拦截技术。Delphi是一种基于Object Pascal的集成开发环境(IDE),它以其高效的代码生成、丰富的组件库以及...

    Delphi下真正隐藏进程的代码

    本话题关注的是如何在Delphi环境下隐藏进程,这是一种高级的系统编程技术,通常用于提高程序的安全性和隐蔽性。 隐藏进程通常有多种方法,包括但不限于API Hooking、修改注册表项以及操作系统内部结构。然而,这个...

Global site tag (gtag.js) - Google Analytics