summaryrefslogtreecommitdiffstats
path: root/lib/daemoncontrol.lua
blob: db9423c45839dfd0b8f41ce3c4805fc07c5d2a6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module (..., package.seeall)
require("posix")

function daemoncontrol (process, action)
	local cmdmessage = ""
	if (string.lower(action) == "start") or (string.lower(action) == "stop") or (string.lower(action) == "restart") then
		local file = io.popen( "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin /etc/init.d/" .. 
			process .. " " .. string.lower(action) .. " 2>&1" )
		if file ~= nil then
			cmdmessage = file:read( "*a" )
			file:close()
		end
	else
		return false,nil,"Unknown command!",action
	end
	posix.sleep(2)	-- Wait for the process to start|stop
	return true,cmdmessage,nil,action
end