8b8a943dd8
This patch will: - add --daemon-wait flag to control the time to wait for background mount - remove dependency on sevlyar/go-daemon and implement backgrounding directly - avoid setsid during backgrounding as it can result in race under Automount - provide a fallback PATH to correctly run `fusermount` under systemd as it runs mount units without standard environment variables - correctly handle ^C pressed while background process is being setting up
21 lines
469 B
Go
21 lines
469 B
Go
// Daemonization interface for Unix platforms (common definitions)
|
|
|
|
//go:build !windows && !plan9 && !js
|
|
// +build !windows,!plan9,!js
|
|
|
|
package fs
|
|
|
|
import (
|
|
"os"
|
|
)
|
|
|
|
// We use a special environment variable to let the child process know its role.
|
|
const (
|
|
DaemonMarkVar = "_RCLONE_DAEMON_"
|
|
DaemonMarkChild = "_rclone_daemon_"
|
|
)
|
|
|
|
// IsDaemon returns true if this process runs in background
|
|
func IsDaemon() bool {
|
|
return os.Getenv(DaemonMarkVar) == DaemonMarkChild
|
|
}
|