$cmd を借用してプログラムを実行した後、PHP を終了するにはどうすればよいですか?
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>
------解決策---------
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 );

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

フロントエンド開発でWindowsのような実装方法...

マルチスレッドは、コンピュータープログラミングの重要なテクノロジーであり、プログラムの実行効率を改善するために使用されます。 C言語では、スレッドライブラリ、POSIXスレッド、Windows APIなど、マルチスレッドを実装する多くの方法があります。
![[ブラウザ]タブを閉じることと、JavaScriptを使用してブラウザ全体を閉じることを区別する方法は?](https://img.php.cn/upload/article/001/246/273/174338713695338.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
ブラウザのJavaScriptを使用して、タブを閉じることとブラウザ全体を区別する方法は?ブラウザの毎日の使用中、ユーザーは...
