2014-04-11 42 views
0

在父過程中,我已經開始tinylr(livereload)服務器,然後spawing一個子進程看起來更改的CSS文件。如何在livereload服務器傳遞到子進程或者是有可能查詢當前的子進程運行livereload服務器,這樣我不創建它再次收到一個已在使用錯誤的端口。tinylr /的NodeJS - 如何訪問正在運行的服務器

相同情況下與節點HTTP服務器。我可以知道服務器是否已經運行,並使用該服務器而不是創建新服務器。

+0

我不明白你所指的是「知道現在正在運行」。你想知道什麼時候再起牀,或者這是一個更復雜的問題? – durum

回答

1

是可以查詢的livereload - 這是可能的,並且可以在一個以上的方式來實現。

  1. 使用stdout/stdin與子進程進行通信。詳細描述請看HERE。基本上你可以從一個進程發送消息到另一個進程並回復它們。

  2. 使用http.request以檢查該端口是否正在使用中。

  3. 您可以使用一個文件:過程與服務器保持在寫模式打開的文件 - 該文件存儲端口的內容上運行服務器軟件(如果需要)。

  4. 可以使用sockets進程間通信,以及。

基本上沒有上述保證 100%保密的,所以你必須try/catch錯誤反正:服務器可能只是你的支票後死亡,但你想用它做什麼之前。

如何通過livereload服務器子進程上 - 如果你的意思是分享不同工藝之間的對象,這是肯定不成問題;如果你的意思是改變對象的所有權,我是99,99%肯定它不可能。

只有一個進程負責運行服務器有什麼問題?爲什麼不使用,讓說,forever採取必要時運行,並重新啓動服務器,照顧?

相關問題