12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- // +build linux
- package main
- //go:generate go run cmd/genversion/main.go -package main -out version.go
- import (
- "fmt"
- "os"
- "os/exec"
- "dev.hexasoftware.com/hxs/cloudmount/cloudfs"
- "dev.hexasoftware.com/hxs/prettylog"
- _ "dev.hexasoftware.com/hxs/cloudmount/fs/gdrivefs"
- //_ "github.com/icattlecoder/godaemon" // No reason
- )
- var (
- Name = "cloudmount"
- log = prettylog.New("main")
- )
- func main() {
- prettylog.Global()
- // getClient
- fmt.Printf("%s-%s\n", Name, Version)
- core := core.New()
- core.Drivers["gdrive"] = gdrivefs.New
- core.Init()
- // Register drivers here too
- core.ParseFlags()
- core.Start()
- ///////////////////////////////
- // cloud drive Type
- /////////////////
- /*f, ok := core.Drivers[clouddriveFlag] // there can be some interaction before daemon
- if !ok {
- log.Fatal("FileSystem not supported")
- }
- driveFS := f()*/
- ////////////////////////////////
- // Daemon
- /////////////////
- if daemonizeFlag {
- subArgs := []string{}
- for _, arg := range os.Args[1:] {
- if arg == "-d" { // ignore daemon flag
- continue
- }
- subArgs = append(subArgs, arg)
- }
- cmd := exec.Command(os.Args[0], subArgs...)
- cmd.Start()
- fmt.Println("[PID]", cmd.Process.Pid)
- os.Exit(0)
- return
- }
- }
|