From b509fcec5566b587ef09c5ae837ea3b73a86cbca Mon Sep 17 00:00:00 2001 From: ouqiang Date: Sun, 6 Aug 2017 01:00:41 +0800 Subject: [PATCH] =?UTF-8?q?feat($gocron-node):=20*nix=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E7=A6=81=E6=AD=A2=E4=BB=A5root=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=BF=90=E8=A1=8C=E4=BB=BB=E5=8A=A1=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gocron-node.go | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/gocron-node.go b/gocron-node.go index e074560..3c78251 100644 --- a/gocron-node.go +++ b/gocron-node.go @@ -5,15 +5,33 @@ package main import ( "github.com/ouqiang/gocron/modules/rpc/server" - "os" + "flag" + "runtime" + "os" + "fmt" ) +const AppVersion = "1.1" + func main() { - var addr string - if (len(os.Args) < 2) { - addr = "0.0.0.0:5921" - } else { - addr = os.Args[1] + var serverAddr string + var allowRoot bool + var version bool + flag.BoolVar(&allowRoot, "allow-root", false, "./gocron-node -allow-root") + flag.StringVar(&serverAddr, "s", "0.0.0.0:5921", "./gocron-node -s ip:port") + flag.BoolVar(&version, "v", false, "./gocron-node -v") + flag.Parse() + + if version { + fmt.Println(AppVersion) + os.Exit(0) } - server.Start(addr) + + if runtime.GOOS != "windows" && os.Getuid() == 0 && !allowRoot { + fmt.Println("Do not run gocron-node as root user") + os.Exit(1) + } + + + server.Start(serverAddr) } \ No newline at end of file