add daemon mode;
add signal handler.
Merge branch 'feature/best' into develop