0

Go サーバーを生成し、Go ソース ファイルが変更されたときにそれを強制終了して再生成する Grunt タスクを作成したいと考えています。

次のように Go プロセスを生成しています。

goProcess = child_process.exec('go run main.go', ...

後で、次のようにプロセスを強制終了しようとしています。

if (goProcess) {
    goProcess.kill('SIGINT');
}

しかし、Go プロセスは停止しません。

Node内でGoプロセスを適切に強制終了するにはどうすればよいですか?

ここに実例があります https://github.com/sporto/go-must-die

4

1 に答える 1

0

child_process.execシェルでコマンドを実行し、シェル プロセスの PID を返しているようです。代わりに spawn を使用してください。

go run実行可能ファイルを作成し、別の PID で実行します。go build main.gonode.js を使用してバイナリをビルドし、そのバイナリを実行してみてください。

goProcess = child_process.spawn('./main')
于 2013-10-16T05:01:57.827 に答える