2015-10-08 1 views
1

У меня есть следующий код: NodeJSОтправка SIGUSR1 IPC в Windows,

setInterval(function() {}, 1e6); 
process.on('SIGUSR1', function() { 
    console.log('Got a signal'); 
}); 

В Unix I должен быть в состоянии использовать kill -s SIGUSR1 1234 послать этот сигнал. В Windows нет команды kill, я вижу, что Powershell делает, но у нее нет опции -s like.

NAME 
    Stop-Process 

SYNTAX 
    Stop-Process [-Id] <int[]> [-PassThru] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] 

    Stop-Process -Name <string[]> [-PassThru] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] 

    Stop-Process [-InputObject] <Process[]> [-PassThru] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] 


ALIASES 
    spps 
    kill 


REMARKS 
    Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. 
     -- To download and install Help files for the module that includes this cmdlet, use Update-Help. 
     -- To view the Help topic for this cmdlet online, type: "Get-Help Stop-Process -Online" or 
      go to http://go.microsoft.com/fwlink/?LinkID=113412. 

Итак, как я отправить SIGUSR1 сигнал в Windows?

+0

У вас нет. В Windows нет такой вещи, как сигнал. Используйте другую форму IPC. –

+0

Хорошо, полезно знать. В принципе, не нужно было использовать этот код? Я могу отправить 'SIGINT', нажав' Ctrl + C'. – BanksySan

+0

Да, среда выполнения C эмулирует SIGINT, а также обеспечивает поддержку функции raise(), но не обеспечивает IPC на основе сигналов. Теперь, когда я думаю об этом, возможно, что Node.js предоставляет своего рода эмуляцию сигнала, хотя я думаю, что это маловероятно. Вы можете проверить документацию Node.js, или, возможно, эксперт Node.js будет прослушивать здесь. –

ответ

2

Как уже упоминалось, Windows не поддерживает сигналы UNIX.

Но SIGUSR1 используется в nodejs для запуска отладчика на уже запущенный процесс, если это функциональность вы были после того, как вы могли бы использовать недокументированные API: process._debugProcess (PID);

Это запустит отладчик процесса.

+0

Ooo секретные знания. Я попробую, спасибо! – BanksySan