0

Windows サービスが開いているファイル ハンドルを持つファイル (例: C:\temp\afile.txt) があります。プロセスを停止した後、ファイル ハンドルは開いたままになります。Perl スクリプトでファイル名とパスを指定するだけで、このハンドルを見つけて削除できるようにしたいと考えています。これは可能ですか?お時間をいただきありがとうございます。

4

1 に答える 1

2

ファイル ハンドルを開いているプロセスを特定し、そのプロセスにアクセスしてハンドルを強制終了することが可能です。これは、MSProcess Explorerがこれを実行できるためです。どのように?知らない。

MoveFileEx(file_name, NULL, MOVEFILE_DELAY_UNTIL_REBOOT)おそらく代わりに使用する必要があります。これにより、次回システムを再起動したときにファイルが削除されます。

Win32API::Fileは、そのシステム コールへの Perl インターフェイスを提供します。

于 2013-02-26T03:18:46.833 に答える