我想編寫lua守護進程,它偵聽TCP套接字並允許處理一些用戶數據。 我正在使用copas庫讓我的服務器同時處理多個客戶端,但不知道如何守護這個服務器。看起來copas不提供這樣的功能。有人知道如何在Lua中創建守護進程嗎?在Lua中編寫一個守護進程
下面是部分代碼,我定義我的服務器:提前
function handler(c, host, port)
local peer = host .. ":" .. port
print("connection from ", peer)
while 1 do
command = c:receive"*l"
c:send(router(command))
end
end
copas.addserver(assert(socket.bind("127.0.0.1", 8888)),
function(c) return handler(copas.wrap(c), c:getpeername()) end
)
copas.loop()
謝謝!
你認爲沒有在代碼中被妖魔化嗎?這取決於你想運行哪臺機器,但是比如systemd喜歡不自行妖魔化的進程。即使使用其他init系統/操作系統,您也可以使用Unix守護進程(http://www.libslack.org/daemon/)等工具將進程轉換爲守護進程。 – catwell