Привет Я использую child_process.spwan для запуска дочернего процесса, выполняющего сценарий python в Windows. Скрипт прослушивает SIGINT, чтобы изящно выйти. Но Windows не поддерживает сигналы, и весь узел имитирует. Так что child_process.kill('SIGINT')
на Windows фактически убивает процесс безоговорочно (без изящного выхода, обработчик SIGTERM/SIGINT python не вызывается). Также не работает запись текста ctrl+c
на stdin.Nodejs: Отправить Ctrl + C для дочернего процесса в Windows
Когда я просматриваю API-интерфейсы Python, у меня есть CTRL_BREAK_EVENT и CTRL_C_EVENT, которые могут служить вам. Мне интересно, имеет ли узел эквивалентные API-интерфейсы для платформы, подобные этим?
Похожие сообщения, но не рабочие из них: How to send control C node.js and child_processes sending crtl+c to a node.js spawned childprocess using stdin.write()?
Спасибо. Это, безусловно, работает, когда дочерний процесс является узлом. Но что, если в конце концов мне нужно будет порождать процесс Python (например, 'spawn ('python', ['myscript.py']'), который содержит некоторые ресурсы (например, сокеты), но вообще не говорит на Javascript. I IPC-процесс python в кросс-платформенной манере? – kenmark