×

php判断进程是否存在

php判断进程是否存在(php判断常量是否存在)

admin admin 发表于2023-03-29 08:18:09 浏览72 评论0

抢沙发发表评论

本文目录一览:

批处理判断进程是否存在 存在就继续执行,否则等待5秒后

检测进程是否存在,并做出预定动作。

tasklist /nhd:\tddown~1\1.txt

find /i "QQ.exe" d:\tddown~1\1.txt

if ERRORLEVEL 1 (echo qq.exe不存在) else (echo qq.ex存在)

------------第二个-----------

tasklist /nh|find /i "QQa.exe"

if ERRORLEVEL 1 (echo qqa.exe不存在) else (echo qqa.exe存在)

检查电脑里有没QQ.EXE进程,有则自动结束

a)、先用tasklist 输入进程列表给find ,让find找出qq.exe进程,如果找到,那执行下面的结束操作,找不到就退出bat

@echo off

tasklist|find /i "qq.exe" ||exit

taskkill /im qq.exe /f

b)、把进程列表放在A文档里面然后再用FIND查找代码:

@echo off

tasklistC:\a.txt

find "QQ.exe" C:\a.txttaskkill /f /im "QQ.exe"

c)、如果不是要循环监控的话,直接taskkill。。。反正最终目的是不要有QQ进程。

每隔20秒自动检测进程列表,自动关闭notepad.exe。

@echo off

:1

tasklist | find "notepad.exe" c:\notepad.luowei

if exist c:\notepad.luowei taskkill /f /im notepad.exe

ping 127.1 -n 20 nul 2nul

goto 1

检测explorer.exe进程

检测explorer.exe进程,发现有这个进程就退出,没有就从E盘复制一个到系统目录,再运行。

我系统经常进不去,发现就是被病毒发explorer.exe文件删了。

tasklist|find /i "explorer.exe"||copy /y e:\drivers\explorer.exe %systemroot%\start /b explorer.exe

每30秒检测一个进程的运行,如果不存在电脑重启。

@echo off

rem 重启应该使用-r

tasklist|findstr /i "explorer.exe" ||shutdown -r -t 50

rem willsort斑竹说过,ping的第一条消息是不需要等待的,所以延时30秒,应该用-n 31

ping 127.1 -n 31 nul 2nul

rem 不必使用循环,call一下自己就行了

call %0

检测系统的一个进程是否存在的脚本, 如果不存在,就自动关机.

tasklist tasklist.txt

rem 进程名如 smss.exe

find /i tasklist.txt "进程名"

if errorlevel 1 ((del /q tasklist.txt)(goto end))

if errorlevel 0 ((del /q tasklist.txt)(echo 有你想要的进程)pauseexit)

:end

shutdown -s -t 1

不过这样只有这个bat运行一次检测一次,没有实时监控

用Goto 语句做 监测

:start

tasklist tasklist.txt

find /i tasklist.txt "Explorer.exe"

if errorlevel 1 ((del /q tasklist.txt)(goto end))

if errorlevel 0 ((goto start))

:end

shutdown -s -t 50

这样一来 如果Explorer.exe 进程,存在, 就是死循环.

直到 Explorer.exe 进程结束, 就执行 关机命令.

但这样有个缺点 CPU 100%

检测多个特定进程

我想实现这样一个功能:用tasklist列出当前进程清单,然后用find来搜索进程中是否含有1.exe,2.exe,3.exe......(假设啊)如果清单中含有其中一个就执行某个操作。我想用FOR来实现循环可是怎么试也不行啊!!我是这样试的:-php判断进程是否存在

tasklist | for %%j in (1.exe,2.exe,3.exe) do find "%%j" goto :p

find是不是不能用for啊?请高人指点。

---------

tasklist | findstr "1.exe 2.exe 3.exe"goto :p

for不会接受传递自tasklist的数据,它是打in来定义的

---------

@echo off

set 1.exe=被定义的程序

set 2.exe=被定义的程序

set 3.exe=被定义的程序

for /f "tokens=1" %%i in ('tasklist /NH') do (

if defined %%i echo %%i

)

pausenul

---------

检测和退出进程问题

A B 两进程存在,若A不存在,则退出B。每隔N秒循环检测一次,退出B后,退出程序

tasklist|findstr /i "A.exe" ||(taskkill /im B.exe /t /fexit)

列出当前运行的进程,可自定义说明内容,手动关闭进程。

可改良后自动判断处理进程。

@echo off

PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\HPQ\IAM\bin

title 进程分析自定义结束进程程序

echo 按任意键开始分析

pausenul

set space=

echo.

echo 程序分析如下:

echo =========================================================================

echo.

echo 进程名称 进程说明

echo.

call tasklist.exe

::以下定义程序说明,自己可以补充。

set System=『系统进程』

set smss.exe=『系统进程』调用对话管理子系统和负责操作你系统的对话

set csrss.exe=『系统进程』管理Windows图形相关任务

set winlogon.exe=『系统进程』

set services.exe=『系统进程』管理启动和停止服务

set lsass.exe=『系统进程』用于本地安全和登陆策略

set svchost.exe=『系统进程』用来运行动态链接库dll文件

set ctfmon.exe=·提供语音识别、手写识别等

set conime.exe=·输入法编辑器相关程序

::主程序

setlocal enabledelayedexpansion

for /f "tokens=1" %%i in ('tasklist /NH') do (

set str=%%i %space%

set str=!str:~0,20!

if defined %%i (echo !str! !%%i!) else echo !str! ‖根据进程自已输进程名)

echo =========================================================================

echo 分析完毕...

:goto title

title 结束进程

set /p run=请输入要结束的程序名

::ntsd -c q -pn %run%

taskkill /f /t /im %run%

pausenul 先分析PID和进程。然后自定义结束

--------------------------------------------------------------------------------

当使用 echo 命令时,要显示管道 (|) 或重定向字符( 或 ),请在管道 (|) 或重定向字符(例如,^、^ 或 ^|)的前面使用脱字符 (^)。如果需要使用脱字符 (^),请键入两个脱字符 (^^)。-php判断进程是否存在

Usage:

第一条命令 || 第二条命令 [|| 第三条命令...]

用这种方法可以同时执行多条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令;

Sample:

D:\TDDownloaddir *.txt||ren 1.txt 3.txtdir *.txt

驱动器 D 中的卷是 Application

卷的序列号是 B445-F155

D:\TDDownload 的目录

2008-01-26 15:35 229 1.txt

2008-01-26 15:35 229 2.txt

2008-01-26 15:35 229 第三只眼.txt

3 个文件 687 字节

0 个目录 7,510,728,704 可用字节

D:\TDDownloaddir 3.txt||ren 1.txt 3.txtdir *.txt

驱动器 D 中的卷是 Application

卷的序列号是 B445-F155

D:\TDDownload 的目录

找不到文件

驱动器 D 中的卷是 Application

卷的序列号是 B445-F155

D:\TDDownload 的目录

2008-01-26 15:35 229 2.txt

2008-01-26 15:35 229 3.txt

2008-01-26 15:35 229 第三只眼.txt

3 个文件 687 字节

0 个目录 7,510,728,704 可用字节

D:\TDDownload

linux怎么判断php进程是不是假死

1)进程不响应了。

这个可以通过未公开函数NtQuerySystemInformation来查询

NtQuerySystemInformation

也可以通过给其主窗体发消息来判断是否不响应了。

2)进程主窗体被强制关闭了。

还有一种假死通过1)的方法不能判断,因为进程可以响应,只不过主窗体由于某种原因

被强制关闭了,此时只能通过判断主窗体是否正常显示来判断。

求助,windows环境下,php 如何查看进程中是否存在某个进程,如何对这个进程进行重启,和kill?

PHP 在Windows下有两种运行模式,一种是CGI模式,另一种是ISAPI模式。但无论是何种模式,其运行进程的身份都是Nobody,而不是Administrator或更高权限的System,所以你的问题有点诡异,好象鬼吹灯里的惊悚事件一样,真要是象你说的那样的话,会让网站管理员寝食难安的。建议你好好了解一下什么是系统权限,如何提高进程的权限等等,不过这已经不是PHP力所能及的范围了,那是黑客最爱干的事。在这里属于禁忌话题,我们就不要讨论下去了。如果你有兴趣,去“看雪”或其他知名黑客站去学习一下吧。-php判断进程是否存在