私は崇高なNode.jsのビルドシステムをセットアップしようとしているので、F7を押して、開いたファイルの「ノード」を呼び出すことができます。問題は、プロセスが永久に開かれるため、F7を2回目に使用するとアドインが使用できることです。
Node.jsから開かれた「node.exe」プロセスを強制終了する方法はありますか?
次のコマンドセットを使用して、特定のポートで実行されているプロセスを特定し、コマンドラインから終了します。
Sudo fuser -v 5000/tcp // gives you the process running on port 5000
以下に示すような詳細を出力します
USER PID ACCESS COMMAND
5000/tcp: almypal 20834 F.... node
次に使用する
Sudo fuser -vk 5000/tcp
プロセスを終了します。を使用してもう一度確認してください
Sudo fuser -v 5000/tcp
プロセスが終了したことを確認します。
Windowsでは、次の手順を使用できます
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
ノードプロセス(この場合は3592)に対応するPIDに注意してください。次にtaskkillを実行してプロセスを終了します。
C:\> taskkill /F /PID 3592
または/ IMスイッチ
C:\> taskkill /F /IM node.exe
Node.js内から:
var die = function(quitMsg)
{
console.error(quitMsg)
process.exit(1);
}
die('Process quit');
特定の 利用可能なメソッド があり、プロセスIDでプロセスを終了するPOSIX(つまり、Windowsではない)でのみ利用可能です。
また、このメソッドを使用してkill()シグナルを送信できる可能性があることに注意してください。これは、Windowsでは使用できないとは言いません。
process.kill(pid, [signal])
あなたがすべてのプロセスを殺したいなら
Sudo killall -9 node
選択したポートのプロセスを強制終了する場合
Sudo kill `Sudo lsof -t -i:3100
ここで3100はポートです
あなたが言うsublimeがsublimeTextプラグインである場合、私は同じ問題を抱えており、TCP server = shutdown 'from python code、then
app.js
TCPserver
.on('connection', function(socket)
{
socket.pipe(require('through')
(function(data)
{ //----------------------------
if (data.toString() === 'shutdown')
{
process.exit();
}
//--------------------------
}));
socket.end();
})
@Alex Wが言ったことと同様に、次のノード関数を使用してプロセスIDまたはPIDがある限り、プロセスにkillシグナルを送信できます。
process.kill(pid, [signal])
私の場合、child_process().spawn.pid
を生成するときにPIDをすぐに利用できました。私はそれをテストしましたが、Win 7 x64で動作します。