ホームページ バックエンド開発 PHPチュートリアル $cmd を借用してプログラムを実行した後、PHP を終了するにはどうすればよいですか?

$cmd を借用してプログラムを実行した後、PHP を終了するにはどうすればよいですか?

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

PHP が $cmd を借用してプログラムを実行した後、それを閉じるにはどうすればよいでしょうか?
PHP を使用して exe プログラム (CRON やその他のスケジュール プログラムではなく、PHP には他の機能があります。これはテストに便利です。メモ帳を例にします) を実行し、開いてから 3 秒後に閉じたいと考えています。 。
操作方法は?
タスクマネージャーを呼び出してタスクを閉じることはできますか?コードを解いてください。ありがとう。

PHP コード
<!--

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);
?>
ログイン後にコピー


-----解決策---------------- - ---
PHP コード

<?php
$handle = Popen('C:WINDOWSsystem32notepad.exe', "r");
pclose($handle);
?>
<br /><font color='#e78608'>------解決策-----------</font><br />popen ― プロセスファイルポインタをオープンします<br /><br />説明<br />resource Popen (string $command, string $mode)<br />指定されたコマンドの実行によって生成されたプロセスへのパイプを開きます。 <br /><br />fopen() によって返されるファイル ポインタと同じファイル ポインタを返します。ただし、一方向であり (読み取りまたは書き込みにのみ使用可能)、pclose() で閉じる必要がある点が異なります。このポインタは、fgets()、fgetss()、および fwrite() で使用できます。 <br /><br />エラーが発生した場合は FALSE を返します。 <br /><br />注: <br /><br />双方向サポートが必要な場合は、proc_open() を使用してください。 <br /><br /><br /><br />例 1 Popen() 例<br /><br /><?php<br />$handle = Popen("/bin/ls", "r");<br />?><br /><br />注: <br /><br />実行するコマンドが見つからない場合は、正当なリソースが返されます。これは奇妙に思えますが、理にかなっています。これにより、シェルによって返されたエラー情報にアクセスできます: <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) ";<br>$read = fread($handle, 2096);<br>echo $read;<br>pclose($handle);<br>?> <br><br><br>
<br><font color="#e78608">------解決策---------</font><br>
ログイン後にコピー
話し合う
PHP コード

$handle = Popen('C:WINDOWSsystem32notepad.exe', "r");
pclose($handle);
?> ;

------解決策---------
popen は PHP 環境で notepad.exe を返します。の下のポインタ、このポインタはメモ帳へのデータの読み取りと出力にのみ使用できます。pclose はこのポインタのみを閉じ、メモ帳自体を閉じる方法はわかりませんが、そうすべきだと思います。 Windows から 「プログラミングの基礎」のタスク マネージャーでプロセスを取得する方法を確認し、システム関数を使用して Windows シャットダウン プログラムを呼び出します。

------解決策------------------
Popen は一方向です。proc_open を使用してください試してみましょう

PHP コード
/**※窓のみ*/ $descriptorspec = 配列( 0 => 配列("パイプ", "r"), 1 => 配列("パイプ", "w") ); $cwd = 'C:WINDOWSsystem32'; $process = proc_open('notepad.exe', $descriptorspec, $pipes, $cwd); $s = proc_get_status( $process );//取得される情報は親プロセス cmd.exe のステータスであり、子プロセス notepad.exe のステータスではないため、プロセス ID を直接強制終了することはできません。 スリープ(3); exec('taskkill /PID '.$s['pid'] . ' /T'); // ツリーの削除、すべての親プロセスと対応する子プロセスを削除します。私は当初、子プロセス ID が親プロセスより大きい必要があると考えていました。コードを渡した後、後でそうではないことがわかり、このコマンドを見つけました。 proc_close( $process );
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

web.xmlを開く方法 web.xmlを開く方法 Apr 03, 2025 am 06:51 AM

web.xmlファイルを開くには、次の方法を使用できます。テキストエディター(メモ帳やテキストエディットなど)を使用して、統合開発環境(EclipseやNetBeansなど)を使用してコマンドを編集できます(Windows:Notepad web.xml; Mac/Linux:Open -A Textedit Web.xml)

マルチスレッドをC言語で実装する4つの方法 マルチスレッドをC言語で実装する4つの方法 Apr 03, 2025 pm 03:00 PM

言語のマルチスレッドは、プログラムの効率を大幅に改善できます。 C言語でマルチスレッドを実装する4つの主な方法があります。独立したプロセスを作成します。独立して実行される複数のプロセスを作成します。各プロセスには独自のメモリスペースがあります。擬似マルチスレッド:同じメモリ空間を共有して交互に実行するプロセスで複数の実行ストリームを作成します。マルチスレッドライブラリ:pthreadsなどのマルチスレッドライブラリを使用して、スレッドを作成および管理し、リッチスレッド操作機能を提供します。 Coroutine:タスクを小さなサブタスクに分割し、順番に実行する軽量のマルチスレッド実装。

Windowsシステムログを効率的に読み取り、ここ数日から情報のみを取得する方法は? Windowsシステムログを効率的に読み取り、ここ数日から情報のみを取得する方法は? Apr 01, 2025 pm 11:21 PM

Windowsシステムログの効率的な読み取り:Pythonを使用してWindowsシステムログファイル(.EVTX)を処理する場合、EVTXファイルを逆転させます。

XMLの形式を変更する方法 XMLの形式を変更する方法 Apr 03, 2025 am 08:42 AM

XML形式を変更する方法はいくつかあります。Atepadなどのテキストエディターを使用して手動で編集する。 XmlBeautifierなどのオンラインまたはデスクトップXMLフォーマットツールを使用して自動的にフォーマットします。 XSLTなどのXML変換ツールを使用して変換ルールを定義します。または、Pythonなどのプログラミング言語を使用して解析および操作します。元のファイルを変更してバックアップするときは注意してください。

PSの負荷速度をスピードアップする方法は? PSの負荷速度をスピードアップする方法は? Apr 06, 2025 pm 06:27 PM

Slow Photoshopの起動の問題を解決するには、次のような多面的なアプローチが必要です。ハードウェアのアップグレード(メモリ、ソリッドステートドライブ、CPU)。時代遅れまたは互換性のないプラグインのアンインストール。システムのゴミと過剰な背景プログラムを定期的にクリーンアップします。無関係なプログラムを慎重に閉鎖する。起動中に多数のファイルを開くことを避けます。

cマルチスレッドの3つの実装方法の違いは何ですか cマルチスレッドの3つの実装方法の違いは何ですか Apr 03, 2025 pm 03:03 PM

マルチスレッドは、コンピュータープログラミングの重要なテクノロジーであり、プログラムの実行効率を改善するために使用されます。 C言語では、スレッドライブラリ、POSIXスレッド、Windows APIなど、マルチスレッドを実装する多くの方法があります。

[ブラウザ]タブを閉じることと、JavaScriptを使用してブラウザ全体を閉じることを区別する方法は? [ブラウザ]タブを閉じることと、JavaScriptを使用してブラウザ全体を閉じることを区別する方法は? Apr 04, 2025 pm 10:21 PM

ブラウザのJavaScriptを使用して、タブを閉じることとブラウザ全体を区別する方法は?ブラウザの毎日の使用中、ユーザーは...

See all articles