| 1 | package commands |
| 2 | |
| 3 | import ( |
| 4 | cmds "github.com/ipfs/go-ipfs-cmds" |
| 5 | cmdenv "github.com/ipfs/kubo/core/commands/cmdenv" |
| 6 | ) |
| 7 | |
| 8 | var daemonShutdownCmd = &cmds.Command{ |
| 9 | Helptext: cmds.HelpText{ |
| 10 | Tagline: "Shut down the IPFS daemon.", |
| 11 | }, |
| 12 | Run: func(req *cmds.Request, re cmds.ResponseEmitter, env cmds.Environment) error { |
| 13 | nd, err := cmdenv.GetNode(env) |
| 14 | if err != nil { |
| 15 | return err |
| 16 | } |
| 17 | |
| 18 | if !nd.IsDaemon { |
| 19 | return cmds.Errorf(cmds.ErrClient, "daemon not running") |
| 20 | } |
| 21 | |
| 22 | if err := nd.Close(); err != nil { |
| 23 | log.Error("error while shutting down ipfs daemon:", err) |
| 24 | } |
| 25 | |
| 26 | return nil |
| 27 | }, |
| 28 | } |