Ctrl+C (または +Z など) を押しても、Windows コマンド ライン (またはパワー シェル) でhaskell アプリケーション (またはhappstackアプリ) が終了しません。
現在、ウィンドウを閉じてから、新しいコマンドライン/パワーシェルウィンドウを開き、アプリの場所に移動して、runhaskellで再度起動する必要があります。コードが変更されるたびにアプリを「自動リロード」する簡単な方法はありますか?
それとも私は何か間違ったことをしていますか?
Ctrl+C (または +Z など) を押しても、Windows コマンド ライン (またはパワー シェル) でhaskell アプリケーション (またはhappstackアプリ) が終了しません。
現在、ウィンドウを閉じてから、新しいコマンドライン/パワーシェルウィンドウを開き、アプリの場所に移動して、runhaskellで再度起動する必要があります。コードが変更されるたびにアプリを「自動リロード」する簡単な方法はありますか?
それとも私は何か間違ったことをしていますか?
一般的に、Ctrl-C とウィンドウにはいくつかの問題があります。詳細についてはよくわかりません。おそらく、Windows を使用している誰かがより良い修正を思い付くことができます。
最も簡単なことはforkIO
、waitForTermination
do tid <- forkIO $ simpleHTTP nullConf yourApp
waitForTermination
killThread tid
waitForTermination
終了信号を受信するまでブロックします。UNIX プラットフォームでは、^C です。Windows では、文字 'e' (終了) です。return
バッファリングによっては、キーを押さなければならない場合があります。
Linux では、ソース ファイルが保存されるたびに happstack-plugins/plugins-auto を使用して、自動的に再コンパイルし、実行中のサーバーに変更をリロードできます。ただし、plugins-auto は Linux 固有の inotify ライブラリに依存しているため、現時点では Windows をサポートしていません。inotify のサポートを一般化して、利用可能になったときに使用できるようにし、Windows でポーリング ソリューションを使用できるようにする作業が進行中です。
plugins-auto チェックアウトの古いデモを見るには:
http://happstack.blogspot.com/2010/10/recompile-your-haskell-based-templates.html