tinylr/nodejs - как получить доступ к текущему запущенному серверу
-
21-12-2019 - |
Вопрос
В родительском процессе я запустил сервер tiny-lr(livereload), после чего запустил дочерний процесс, который ищет изменения в файлах css.как передать сервер livereload дочернему процессу или можно ли запросить сервер livereload, который в данный момент запущен в дочернем процессе, чтобы я не создавал его снова, получая уже используемую ошибку для порта.
тот же случай с узловым http-сервером.могу ли я узнать, запущен ли сервер уже, и использовать его вместо создания нового?
Решение
можно ли запросить загрузку печени - это возможно и может быть реализовано более чем одним способом.
Воспользуйся
stdout/stdin
для связи с дочерним процессом.Для получения подробного описания смотрите здесь.В принципе, вы можете отправлять сообщения от одного процесса к другому и отвечать на них.Воспользуйся
http.request
чтобы проверить, используется ли порт.Вы можете использовать файл: процесс с сервером сохраняет файл открытым в режиме записи - содержимое файла сохраняет порт, на котором работает сервер (при необходимости).
Вы можете использовать розетки также для межпроцессного взаимодействия.
В принципе, ничего из вышеперечисленного гарантии 100% конфиденциальность, поэтому вы должны try/catch
в любом случае, из-за ошибок:сервер может отключиться сразу после вашей проверки, но до того, как вы захотели что-то с ним сделать.
как передать сервер livereload дочернему процессу - если вы имеете в виду совместное использование объекта между разными процессами, то это несомненно не подлежит сомнению;если вы имеете в виду смену владельца объекта, то я примерно на 99,99% уверен, что это тоже невозможно.
В чем проблема с наличием только одного процесса, ответственного за запуск сервера?И почему бы не использовать, скажем так, навсегда чтобы позаботиться о запуске и перезапуске сервера, если это необходимо?