win7 x64でActiveState perl 5を実行しています。ソリューションはクロスプラットフォームである必要はありません。外部アプリケーションを実行して終了する
私は、Perlスクリプトを使用して、複雑で可変なコマンドライン引数文字列を別のアプリケーション用に作成しようとしています。次に、Perlスクリプトを直ちに終了しながら、引数文字列を使用してその外部アプリケーションを実行したいとします。
考えられるのは、適切なコマンドラインを生成し、外部アプリケーションを生成し(適切な引数を与えて)、直ちに遠ざかるように、さまざまな引数を使ってPerlスクリプトを実行するショートカットアイコンを作成することです。
私はこれを行う方法を見つけることができないようです。 exec()
を使用して、コマンドラインウィンドウからスクリプトを実行すると(外部アプリケーションを起動した直後にコマンドプロンプトに戻ります)、同じコマンドを使用してWindowsショートカットを作成すると、Perlスクリプトがちょうどハングしますスポーンされた外部アプリが終了するか、perlコマンドウィンドウを手動で閉じるまで、バックグラウンドは永遠に残っています。
これを行う方法はありますか?私はsystem
、exec
、バックチック、他のいくつかの不明なものを試しました。何も働いていません。
'perldoc -f exec'または多分[Win32 :: Process](https://metacpan.org/pod/Win32::Process) –
私が言及したように、すでにexecを試しました。しかし、Win32 :: Processを試していなかった - それはトリックでした、ありがとう! – tstevens
あなたは 'exec" start => @ cmdline "'を使って同じ結果を得ることができたかもしれませんが、コードを表示しないので、何もするつもりはありません。 –