零基础创建Windows守护进程,手把手教学。

一、首先新建一个.txt文件,例:Deamon.txt

 二、打开新建的.txt文件并将如下代码进行填入,这段代码是一个批处理脚本,用于守护进程("SSCOM33")的运行,如果进程停止,它会自动重新启动。

@echo off

::检测时间间隔,单位:秒
set _interval=5
::需要守护的进程名称
set _processName=SSCOM33

:loop
::检查进程是否运行
tasklist | find "sscom33.exe" > nul

if %errorlevel% neq 0 (
    echo Start %_processName%-%time%
    start "" "F:\sscom33.exe"
)

::等待一段时间再次检查
timeout /t %_interval% /nobreak > nul
goto loop

 上述代码详细解释:

  1. @echo off: 这句代码关闭了命令回显,使得在执行过程中不会在命令提示符窗口中显示命令本身。

  2. set _interval=5: 这句代码定义了一个变量 _interval,用于设置循环检查进程状态的间隔时间,这里设置为 5 秒。

  3. set _processName=SSCOM33: 这句代码定义了一个变量 _processName,用于存储进程的名称,这里设置为 "SSCOM33"。(名称为自己任意设定的)

  4. :loop: 这是一个标签,用于创建一个无限循环。

  5. tasklist | find "sscom33.exe" > nul: 这句代码使用 tasklist 命令列出所有正在运行的进程,然后通过管道 | 将输出传递给 find 命令,查找包含 "sscom33.exe" 的行。通过将输出重定向到 nul,只关心命令是否成功执行,不在意输出内容。

  6. if %errorlevel% neq 0: 这是一个条件语句,检查上一个命令的退出码(%errorlevel%)。如果 tasklist | find 命令未找到进程(即退出码不等于 0),则表示进程停止。

  7. 在条件成立的情况下(即进程停止),脚本会使用 echo 命令打印消息,然后使用 start 命令重新启动进程。

  8. timeout /t %_interval% /nobreak > nul: 这句代码使用 timeout 命令暂停脚本的执行,持续一段时间(由 _interval 变量定义),然后再次进行下一轮循环。/nobreak 参数表示用户无法通过按下键盘来终止暂停。

  9. goto loop: 这句代码使脚本跳转回标签 :loop 处,从而创建了一个无限循环,实现了进程守护的功能。

 三、保存为一个 (.bat) 文件,例如:Deamon.bat:

 需要注意的是:本人守护的进程为“sscom33.exe”,文件目录为“F:\sscom33.exe”,根据自己需求进行更改。

四、(若需要脚本在后台运行)用户不会看到命令提示符窗口。需要将下面两句代码保存为扩展名为.vbs的文件,然后和上述.bat放在同一目录下,双击运行。

set ws=WScript.CreateObject("WScript.Shell") 
ws.Run "deamon.bat",0

 上述代码详细解释:

这两句代码是用于在 Windows 脚本宿主(WSH)环境中运行的,用于执行名为 "deamon.bat" 的批处理脚本。

  1. set ws=WScript.CreateObject("WScript.Shell"): 这句代码创建了一个名为 ws 的 WScript.Shell 对象。WScript.Shell 是 Windows 脚本宿主中的一个对象,它允许你在脚本中执行各种操作,包括运行程序、访问环境变量、创建快捷方式等。

  2. ws.Run "deamon.bat",0: 这句代码使用 Run 方法来运行名为 "deamon.bat" 的批处理脚本。0 参数表示以隐藏的方式运行程序,即在后台执行,不会显示命令提示符窗口。

总结起来,这两句代码的作用是创建一个 WScript.Shell 对象,然后使用该对象的 Run 方法以隐藏方式运行名为 "deamon.bat" 的批处理脚本。这意味着批处理脚本将在后台运行,用户不会看到命令提示符窗口。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值