2016-10-06 9 views
2

プロセス、それがあるとして:chrome-devtools(--inspect)を終了したプロセスから自動的に切り離す方法はありますか?

  1. 開始コードと--debug --inspect:提供URLで

    "debug": "node --max-old-space-size=8192 --debug=5567 --inspect dist/index.js",

  2. オープンデベロッパーツール、のようなもの:

    chrome-devtools://devtools/remote/serve_file/@62cd277117e6f8ec53e31b1be58290a6f7ab42ef/inspector.html?experiments=true&v8only=true&ws=localhost:9229/node

  3. 一部のデバッグを実行します。

  4. あなたにはバグがあり、プロセスを終了させ(Ctrl-C)、コードを変更してください。

  5. 再起動します。

  6. スタートは失敗します。Unable to open devtools socket: address already in use

  7. は、手動では、プロセスが使用できなくなった実感ないために得ることをchrome-devtoolsページを更新する必要があることを実現します。

ノードインスペクタの方がはるかに優れていました。私は行方不明のものがありますか? chrome-devtoolsが停止したプロセスから自動的に切り離されるようにするフラグ?

$ versions 
npm 3.10.3 
node v6.7.0 
OS Darwin 15.6.0 Darwin Kernel Version 15.6.0 

編集:私はノードインスペクターマネージャ(Chromeの拡張機能)を使用して開始し、このプロセス全体がはるかに優れていったことがわかりました。

答えて

2

私はこの問題を抱えていません。chrome-devtoolsは、ノードプロセスであるCtrl-Cのときにデバッグ接続が閉じられたというメッセージを表示します。

どのシステムを実行していますか?新しいノードやChromeのバージョンで修正されたのかもしれませんか?あるいは、ソケットの適切なシャットダウンを妨げる何かがNodeアプリケーションにあるかもしれません。あなたは代わりに簡単なスクリプトで試すことができますか?

ここjcollum(彼らは私をチップオフするのでuser835611は、回答クレジットを取得する必要があります):

私は、プロセスの終了シグナルのための2人のリスナーを持っていた:

process.on('SIGINT', function() { 
    logger.warn('SIGINT received. Shutting down.'); 
    return process.exit(0); 
}); 

process.on('SIGTERM', function() { 
    logger.warn('SIGTERM received. Shutting down.'); 
    return process.exit(0); 
}); 

はそれらがChromeの開発ツールを遮断し、判明しますシャットダウンを見ることから。私はそれがどのように機能するのかわかりませんが、それは私が観察したものです。 process.exitのコメントは変更されませんでした。どのくらい奇妙なことに、SIGTERM/INTイベントにリスナーを置くと、Chromeの開発者はプロセスが終了したことを知ることができなくなると思われます。イベントリスナーのような副作用は見られませんでした。

+0

6.5.0、6.7.0に更新... – jcollum

+0

6.5.0の問題ではありませんでした。しかし、あなたはより簡単なコードで正しいです。これは、Hello Worldノードサンプルでうまく動作します。私が走っているHapi.jsコードベースで壊れます。どのように奇妙です。私がそれを把握すれば、私は更新します。 – jcollum

関連する問題