Perlを使用していくつかのインストール手順を自動化しています。今、私が発射したインストール手順が完了したときを知りたい。これはどうすればいいですか?これは自動化された作業なので、後でにいくつかのコマンドを実行するよう人々に依頼することはできません。この機能は自動的に行う必要があります。どのように私はWindows上でこれを行うのですか?Perlを使用してプロセスを終了するためのポーリング
3
A
答えて
3
Greg Hewgillの回答は、必要なWindows APIの機能を説明していますが、Perlでは使用できません。あなたはこのためにWin32::Processモジュールを使用することができます。一度に複数のオブジェクトを待つ必要がある場合
use strict;
use warnings;
use Win32::Process;
Win32::Process::Create(
my $process,
'C:\WINDOWS\system32\notepad.exe', # path of executable
"notepad", # command line it sees
0, # don't inherit our handles
NORMAL_PRIORITY_CLASS, # process creation flags
"." # current directory for process
) or die $^E;
print "started\n";
$process->Wait(INFINITE);
print "done\n";
$process->GetExitCode(my $exitcode) or die $^E;
print "process exit code $exitcode\n";
$process
もWin32::IPC機能wait_any
とwait_all
に渡すことができます。
+0
助けてくれてありがとう – Chani
4
Windowsでは、プロセスのハンドルを使用して、WaitForSingleObject()
と呼び出して、プロセスがいつ終了するかを調べます。プロセスIDだけがある場合は、OpenProcess()
を使用してプロセスIDを取得できます。 (もちろん、CreateProcess()
でプロセスを作成した場合は、すでにハンドルがあります)。
関連する問題
- 1. perlスクリプトを使用してadbサーバーを終了します
- 2. VBScriptを使用してタイムアウト後にプロセスを終了する
- 3. 通常ProcessBuilderを使用してプロセスを終了する方法
- 4. spawnvを使って作成したプロセスを終了する
- 5. Perlでの正規表現を使用したループの終了
- 6. 終了時にプロセスを終了する
- 7. ウィンドウ上のperlスクリプトでその名前を使用してプロセスを強制終了する方法
- 8. コマンドプロンプトを使用して特定のJavaプロセスを終了
- 9. VB6コードを使用したタスクマネージャからの終了プロセス
- 10. Haxe - プロセスを終了するためにイベントを追加していますか?
- 11. Python sshを介したプロセスの終了
- 12. プロセスを起動したプロセスを終了する
- 13. プロセスの終了終了を待つ
- 14. 私のアプリがクラッシュする「プロセスが異常終了したために異常終了しました」
- 15. excelプロセスを終了する
- 16. プロセスを終了するバッチコマンド
- 17. C#:プロセスの終了時にプロセスが終了する(タスクマンで)
- 18. スレッドを介して開始されたプロセスを終了する
- 19. CのProcess.Kill()で終了したプロセスの終了コード
- 20. HikariCPはプログラムの終了時に自動的にポーリングを終了します
- 21. PHPを使用してリモートUbuntuサーバーのプロセスを強制終了するには?
- 22. IO.popenを使用してプロセスが終了するのを待つ方法は?
- 23. spawnlを使用して子プロセスが終了するのを待つ
- 24. プロセスを終了して終了するまでの最良の方法
- 25. phpを使用してバックグラウンドでプロセスを終了しています
- 26. ホストされたWinformでWPFを使用するタスクマネージャのプロセスを終了する
- 27. プロセスは終了コード1で終了しました。SpringブートIntellij
- 28. WebStorm:NodeJSプロセスが終了コード0で終了しました
- 29. Spring Camel:終了コード0でプロセスが終了しました
- 30. Pycharmエラー「プロセスが終了コード-1073740791(0xC0000409)で終了しました」
質問は、正確に何を待っていますか?おそらく完了するプロセス?もしそうなら、そのプロセスの名前やPIDを知っていますか? –
@GregHewgill私は窓で作業しています。だから、私はプロセスが完了するのを待っています。Windows上でプロセス終了を確認する方法を教えてください。 – Chani