PHP借用$cmd运行程序后,如何关闭

我想用PHP运行某exe程序(不要CRON等计划程序,PHP里还有其他内容。这里方便测试,以记事本为例),在其打开3秒后,执行关闭。
如何操作?
是否可以调用任务管理器将其关闭?求解决代码。谢谢。

 

<?php
$cmd = 'C:/WINDOWS/system32/notepad.exe';
system($cmd);
sleep(3);
//$cmd1 = 'C:/WINDOWS/system32/taskmgr_original.exe';
//system($cmd1);
?>
 
 给出答案
 
popen是单向的,用proc_open吧
试试看
   
   
/* * * windows only */ $descriptorspec = array ( 0 => array ( " pipe " , " r " ) , 1 => array ( " pipe " , " w " ) ); $cwd = ' C:/WINDOWS/system32 ' ; $process = proc_open ( ' notepad.exe ' , $descriptorspec , $pipes , $cwd ); $s = proc_get_status ( $process ); // 得到的信息都是父进程cmd.exe的状态,而非子进程notepad.exe的.所以不能直接kill掉这个process id sleep ( 3 ); exec ( ' taskkill /PID ' . $s [ ' pid ' ] . ' /T ' ); // 树型删除,删除所有父进程与对应的子进程.原来以为子进程id必定大于父进程,写了一通代码,后来发现不是,且找到了这个命令 proc_close ( $process );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值