4

grunt-phpで実行できない PHP ベースのプロジェクトがあります。代わりに、grunt-execを使用して開発用の MAMP サーバーを実行しています。

exec: {
  serverup: {
    command: '/Applications/MAMP/bin/start.sh'
  },
  serverdown: {
    command: '/Applications/MAMP/bin/stop.sh'
  }
}

私のカスタム開発タスクでは、監視タスクの直前に MAMP 開始スクリプトを実行します。次に、監視タスクを終了した後、MAMP サーバーを停止しようとしています。

grunt.registerTask('default', ['jshint', 'concat', 'compass:dev', 'exec:serverup', 'watch', 'exec:serverdown']);

ただし、Ctrl-C でタスクを終了すると、タスクがexec:serverdown実行されないようです。これを機能させる方法はありますか?サーバーがダウンすることはないため、停止スクリプトを手動で実行するまでそのポートは拘束され、停止する前にデフォルト タスクを再度実行しようとするとエラーが発生します。

そうでない場合、同じことを達成できる他の方法はありますか?

4

1 に答える 1