私はWindows上でいくつかのツールを書いています。それらは一般的に「コマンドシム」です。つまり、彼らは一度何らかの作業をした後、Unixのexec
ファミリの機能の1つを使って別のプログラムを実行します。Windows上で実行可能なシム(または「どこに私のexec()がありますか?」)
例では、shushのような環境変数の束を設定します。それはのように使用することができます。envのVARSオーバー
export KMS_ENCRYPTED_MOO=<base64str...> shush exec -- env
shush
プログラム反復し、AWS KMSを使用して接頭辞KMS_ENCRYPTED_
を持つ変数を復号化の継続的な実行前に復号化された値を使用して新しい環境変数(サンセリフ接頭辞)を設定env
プログラム
Windowsでこれを行うにはどうすればよいですか?私の理解では、WindowsのCreateProcess
機能は融合したfork
とexec
の* nixに相当しますが、後者の機能だけが必要です。私は子プロセスを作成し、stdin、stdout、stderrを子プロセスに転送できることを知っていますが、Windowsの信号と同じように扱わなければならず、私のような初心者にとって危険に満ちているようです。
Windowsにはシグナルがありません。子プロセスを作成することは正しい(そして実際は唯一の)オプションです。 –
可能な重複:http://stackoverflow.com/questions/37528300/createprocess-usage-for-executable-wrapper-for-windows –