Heim Backend-Entwicklung PHP-Tutorial PHP借用$cmd运行程序后,怎么关闭

PHP借用$cmd运行程序后,怎么关闭

Jun 13, 2016 pm 01:12 PM
notepad quot windows

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

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php $cmd = 'C:\WINDOWS\system32\notepad.exe';
system($cmd);
sleep(3);
//$cmd1 = 'C:\WINDOWS\system32\taskmgr_original.exe';
//system($cmd1);
?>
Nach dem Login kopieren


------解决方案--------------------
PHP code

<?php $handle = popen('C:\WINDOWS\system32\notepad.exe', "r");
pclose($handle);
?>
<br><font color="#e78608">------解决方案--------------------</font><br>popen ― 打开进程文件指针<br><br>说明<br>resource popen ( string $command , string $mode )<br>打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生。  <br><br>返回一个和 fopen() 所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose() 来关闭。此指针可以用于 fgets(),fgetss() 和 fwrite()。  <br><br>如果出错返回 FALSE。  <br><br>Note:  <br><br>如果需要双向支持,使用 proc_open()。  <br><br><br><br>Example #1 popen() 例子<br><br><?php <br />$handle = popen("/bin/ls", "r");<br>?>  <br><br>Note:  <br><br>如果未找到要执行的命令,会返回一个合法的资源。这看上去很怪,但有道理。它允许访问 shell 返回的任何错误信息:  <br><br><?php <br />error_reporting(E_ALL);<br><br>/* 加入重定向以得到标准错误输出 stderr。 */<br>$handle = popen('/path/to/spooge 2>&1', 'r');<br>echo "'$handle'; " . gettype($handle) . "\n";<br>$read = fread($handle, 2096);<br>echo $read;<br>pclose($handle);<br>?>  <br><br><br>
<br><font color="#e78608">------解决方案--------------------</font><br>
Nach dem Login kopieren
探讨
PHP code

$handle = popen('C:\WINDOWS\system32\notepad.exe', "r");
pclose($handle);
?>

------解决方案--------------------
popen返回的是notepad.exe在php环境下的进程指针,这个指针只能用于读取和输出数据给notepad,pclose关闭的只是这个指针而不是notepad本身.

我也不清楚如何关闭notepad,但是我想应该从windows的编程基础中查找如何获取任务管理器中的进程,然后用system函数去调用windows的关闭程序
------解决方案--------------------
popen是单向的,用proc_open吧
试试看
PHP code
/**
 * 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 ); <div class="clear">
                 
              
              
        
            </div>
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So öffnen Sie Web.xml So öffnen Sie Web.xml Apr 03, 2025 am 06:51 AM

Um eine Web.xml -Datei zu öffnen, können Sie die folgenden Methoden verwenden: Verwenden Sie einen Texteditor (z.

Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Apr 03, 2025 pm 03:00 PM

Multithreading in der Sprache kann die Programmeffizienz erheblich verbessern. Es gibt vier Hauptmethoden, um Multithreading in C -Sprache zu implementieren: Erstellen Sie unabhängige Prozesse: Erstellen Sie mehrere unabhängig laufende Prozesse. Jeder Prozess hat seinen eigenen Speicherplatz. Pseudo-MultitHhreading: Erstellen Sie mehrere Ausführungsströme in einem Prozess, der denselben Speicherplatz freigibt und abwechselnd ausführt. Multi-Thread-Bibliothek: Verwenden Sie Multi-Thread-Bibliotheken wie PThreads, um Threads zu erstellen und zu verwalten, wodurch reichhaltige Funktionen der Thread-Betriebsfunktionen bereitgestellt werden. Coroutine: Eine leichte Multi-Thread-Implementierung, die Aufgaben in kleine Unteraufgaben unterteilt und sie wiederum ausführt.

Wie kann ich Windows -Systemprotokolle effizient lesen und nur Informationen aus den letzten Tagen erhalten? Wie kann ich Windows -Systemprotokolle effizient lesen und nur Informationen aus den letzten Tagen erhalten? Apr 01, 2025 pm 11:21 PM

Effiziente Lektüre von Windows -Systemprotokollen: Umgekehrt EVTX -Dateien durch die Verarbeitung von Windows -Systemprotokolldateien (.evtx), wird das direkte Lesen vom frühesten ...

So ändern Sie das Format von XML So ändern Sie das Format von XML Apr 03, 2025 am 08:42 AM

Es gibt verschiedene Möglichkeiten, XML -Formate zu ändern: manuell mit einem Texteditor wie Notepad bearbeiten; automatisch Formatierung mit Online- oder Desktop -XML -Formatierungswerkzeugen wie XMLBeautifier; Definieren Sie Conversion -Regeln mithilfe von XML -Conversion -Tools wie XSLT; oder analysieren und mit Verwendung von Programmiersprachen wie Python arbeiten. Seien Sie vorsichtig, wenn Sie die Originaldateien ändern und sichern.

Wie beschleunigt man die Ladegeschwindigkeit von PS? Wie beschleunigt man die Ladegeschwindigkeit von PS? Apr 06, 2025 pm 06:27 PM

Das Lösen des Problems des langsamen Photoshop-Startups erfordert einen mehrstufigen Ansatz, einschließlich: Upgrade-Hardware (Speicher, Solid-State-Laufwerk, CPU); Deinstallieren veraltete oder inkompatible Plug-Ins; Reinigen des Systemmülls und übermäßiger Hintergrundprogramme regelmäßig; irrelevante Programme mit Vorsicht schließen; Vermeiden Sie das Öffnen einer großen Anzahl von Dateien während des Starts.

c Was sind die Unterschiede zwischen den drei Implementierungsmethoden des Multithreading? c Was sind die Unterschiede zwischen den drei Implementierungsmethoden des Multithreading? Apr 03, 2025 pm 03:03 PM

Multithreading ist eine wichtige Technologie in der Computerprogrammierung und wird zur Verbesserung der Programmausführungseffizienz verwendet. In der C -Sprache gibt es viele Möglichkeiten, Multithreading zu implementieren, einschließlich Threadbibliotheken, POSIX -Threads und Windows -API.

Wie unterscheidet ich zwischen dem Schließen eines Browser -Registerkartens und dem Schließen des gesamten Browsers mit JavaScript? Wie unterscheidet ich zwischen dem Schließen eines Browser -Registerkartens und dem Schließen des gesamten Browsers mit JavaScript? Apr 04, 2025 pm 10:21 PM

Wie unterscheidet ich zwischen den Registerkarten und dem Schließen des gesamten Browsers mit JavaScript in Ihrem Browser? Während der täglichen Verwendung des Browsers können Benutzer ...

See all articles