2012-06-30 25 views
13

Node.jsのビルドシステムを崇高にセットアップしようとしているので、F7を押してopennedファイルの "node"を呼び出すことができます。問題はプロセスが永遠に開かれていることです.2回目はF7を使用してアドインを使用します。node.jsで開いているプロセスを強制終了するには?

node.jsからopenned "node.exe"プロセスを強制終了する方法はありますか?

+0

[node.jsサーバーのすべてのインスタンスを停止する](http://stackoverflow.com/questions/14790910/stop-all-instances-of-node-js-server) – rofrol

答えて

29

それは

     USER  PID ACCESS COMMAND 
    5000/tcp:   almypal  20834 F.... node 
下に示したものと同様の出力の詳細を意志

sudo fuser -v 5000/tcp // gives you the process running on port 5000 

を所定のポート上で実行しているプロセスを識別するために、次のコマンドセットを使用して、コマンドラインからtermiateします

次に、プロセスを終了するには、

を使用してください。処理が終了したことを確認するために、もう一度

sudo fuser -v 5000/tcp 

を使用して再度確認してください。

は、Windows上では、プロセスを終了するために、この場合には、3592.次の実行taskkillを次の手順

C:\> tasklist // will show the list of running process' 

    Image Name  PID Session Name Session# Mem Usage 
    System   4 console     0 236 K 
    ... 
    node.exe   3592 console    0 8440 k 

注お使いのノードのプロセスに対応するPIDを使用することができます。 Node.jsの中から

C:\> taskkill /F /PID 3592 

または/ IMスイッチ

C:\> taskkill /F /IM node.exe 
+2

重複した回答... Windowsの場合は? – MaiaVictor

+0

答えをWindowsの詳細で更新しました。 – almypal

+0

さて、私が求めていたものではなく、node.jsからコマンドを使用することができます。プロセスIDからプロセス名に変更すると、尋ねられたことが行われます。 。 – MaiaVictor

2

var die = function(quitMsg) 
{ 
    console.error(quitMsg) 
    process.exit(1); 
} 

die('Process quit'); 

その意志POSIX(つまり、Windowsではなく)でのみ使用できます終了するため、特定のmethods availableがあります。そのプロセスIDでプロセスを終了します。また

、(あなたはキルを送ることができるかもしれないということ、それはWindowsのために利用可能ではないと言うしません。この方法を使用して)信号、注意してください、

process.kill(pid, [signal]) 
+0

しかし、他の実行中のnode.exeのpidを知るにはどうすればよいですか? – MaiaVictor

+0

@Dokkat 'console.log( 'このプロセスはpid' + process.pidです);'は、他のNode.exeからpidを表示し、そのプロセスのpidのコマンドライン引数で新しいものを実行します。 'argv'にあるpidに' SIGTERM'を送ります。すべての情報は上記のリンクで入手できます。 –

+1

@Viclibあなたがまだ関心があるなら、私は実際にこの問題に遭遇し、 'process.kill(pid、[signal])'を使用して私が必要としていただけです。あなたが望むなら、私はより多くの情報を与えることができます。 –

0

あなたが言う崇高がsublimeTextプラグインの場合を私は同じ問題を持っている、と

app.js

TCPserver 
     .on('connection', function(socket) 
     { 
      socket.pipe(require('through') 
       (function(data) 
       { //---------------------------- 
        if (data.toString() === 'shutdown') 
        { 
         process.exit(); 
        } 
        //-------------------------- 
       })); 
      socket.end(); 
     }) 
0

Simil、その後、TCPサーバーにPythonコードからのメッセージ 'シャットダウン' を送りますアルリー@Alex Wが言ったまで、あなたは限りあなたは、次のノード機能使用して、そのプロセスID、またはPID持っているように、プロセスにkillシグナルを送ることができます。私の場合は

process.kill(pid, [signal])

を、私は持っていましたchild_process().spawn.pidを産んでいたので、すぐに利用できるPIDです。私はそれをテストし、それは勝利7 x64で動作します。

関連する問題