b5d0021fb6
On BSD, the storagenode-updater falls back to renaming the storagenode without doing anything to restart the service. Like the approach we have for linux, this change finds the process ID of the storagenode using pgrep and sends an interrupt signal to the process. Closes https://github.com/storj/storj/issues/5333 Change-Id: Icced90ea3e831528804784c2170a3b8b14952e8c
32 lines
852 B
Go
32 lines
852 B
Go
// Copyright (C) 2020 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
//go:build !service || (!windows && !linux && !freebsd && !dragonfly && !netbsd && !openbsd && !solaris && !darwin && service)
|
|
// +build !service !windows,!linux,!freebsd,!dragonfly,!netbsd,!openbsd,!solaris,!darwin,service
|
|
|
|
package main
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
|
|
"github.com/spf13/cobra"
|
|
"github.com/zeebo/errs"
|
|
)
|
|
|
|
func cmdRestart(cmd *cobra.Command, args []string) error {
|
|
return nil
|
|
}
|
|
|
|
func restartService(ctx context.Context, service, binaryLocation, newVersionPath, backupPath string) error {
|
|
if err := os.Rename(binaryLocation, backupPath); err != nil {
|
|
return errs.Wrap(err)
|
|
}
|
|
|
|
if err := os.Rename(newVersionPath, binaryLocation); err != nil {
|
|
return errs.Combine(err, os.Rename(backupPath, binaryLocation), os.Remove(newVersionPath))
|
|
}
|
|
|
|
return nil
|
|
}
|