diff --git a/service/console.lua b/service/console.lua index c0eba879..90fe62b0 100644 --- a/service/console.lua +++ b/service/console.lua @@ -1,13 +1,26 @@ local skynet = require "skynet" +local snax = require "snax" local socket = require "socket" +local function split_cmdline(cmdline) + local split = {} + for i in string.gmatch(cmdline, "%S+") do + table.insert(split,i) + end + return split +end + local function console_main_loop() local stdin = socket.stdin() socket.lock(stdin) while true do local cmdline = socket.readline(stdin, "\n") - if cmdline ~= "" then - pcall(skynet.newservice,cmdline) + local split = split_cmdline(cmdline) + local command = split[1] + if command == "snax" then + pcall(snax.newservice, select(2, table.unpack(split))) + elseif cmdline ~= "" then + pcall(skynet.newservice, cmdline) end end socket.unlock(stdin)