|  | @@ -12,6 +12,7 @@ import (
 | 
	
		
			
				|  |  |  	"net/http"
 | 
	
		
			
				|  |  |  	"net/http/fcgi"
 | 
	
		
			
				|  |  |  	"os"
 | 
	
		
			
				|  |  | +	"os/signal"
 | 
	
		
			
				|  |  |  	"path"
 | 
	
		
			
				|  |  |  	"strings"
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -530,6 +531,16 @@ func runWeb(ctx *cli.Context) {
 | 
	
		
			
				|  |  |  	// Not found handler.
 | 
	
		
			
				|  |  |  	m.NotFound(routers.NotFound)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	// Detect kill signal.
 | 
	
		
			
				|  |  | +	c := make(chan os.Signal, 1)
 | 
	
		
			
				|  |  | +	signal.Notify(c, os.Interrupt)
 | 
	
		
			
				|  |  | +	go func() {
 | 
	
		
			
				|  |  | +		for _ = range c {
 | 
	
		
			
				|  |  | +			fmt.Println("Kill signal detected, exiting now...")
 | 
	
		
			
				|  |  | +			os.Exit(0)
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	// Flag for port number in case first time run conflict.
 | 
	
		
			
				|  |  |  	if ctx.IsSet("port") {
 | 
	
		
			
				|  |  |  		setting.AppUrl = strings.Replace(setting.AppUrl, setting.HttpPort, ctx.String("port"), 1)
 |