diff --git a/Makefile b/Makefile index 46fc5a1..91f3f2a 100644 --- a/Makefile +++ b/Makefile @@ -106,9 +106,7 @@ dist-%: ## Create package for specific platform and architecture (e.g., dist-dar rm -rf $$PLATFORM_DIR; \ mkdir -p $$PLATFORM_DIR/bin; \ mkdir -p $$PLATFORM_DIR/packages/cli; \ - mkdir -p $$PLATFORM_DIR/packages/cli/cmd/script; \ cp packages/cli/gbox-$$PLATFORM_ARCH $$PLATFORM_DIR/packages/cli/gbox; \ - cp -r packages/cli/cmd/script/. $$PLATFORM_DIR/packages/cli/cmd/script/; \ cp .env $$PLATFORM_DIR/ 2>/dev/null || true; \ cp LICENSE README.md $$PLATFORM_DIR/; \ if [ -f "packages/cli/gbox-$$PLATFORM_ARCH" ]; then \ diff --git a/packages/cli/internal/adb_expose/commands.go b/packages/cli/internal/adb_expose/commands.go index 9a92afe..a695260 100644 --- a/packages/cli/internal/adb_expose/commands.go +++ b/packages/cli/internal/adb_expose/commands.go @@ -15,6 +15,7 @@ import ( sdk "github.com/babelcloud/gbox-sdk-go" gboxsdk "github.com/babelcloud/gbox/packages/cli/internal/client" + "github.com/babelcloud/gbox/packages/cli/internal/proc_group" "github.com/babelcloud/gbox/packages/cli/internal/util" ) @@ -508,10 +509,8 @@ func startServerInBackground() error { // Create command to start server in background with reply fd cmd := exec.Command(execPath, "server", "start", "--reply-fd", "3") - // Set up process attributes for daemon mode - cmd.SysProcAttr = &syscall.SysProcAttr{ - Setpgid: true, // Create new process group - } + // Set up process attributes for daemon mode (platform-specific) + procgroup.SetProcGrp(cmd) // Pass the write end of the pipe as file descriptor 3 cmd.ExtraFiles = []*os.File{writer} diff --git a/packages/cli/internal/server/auto_start.go b/packages/cli/internal/server/auto_start.go index 24a50bc..ac9239a 100644 --- a/packages/cli/internal/server/auto_start.go +++ b/packages/cli/internal/server/auto_start.go @@ -10,6 +10,8 @@ import ( "strconv" "syscall" "time" + + "github.com/babelcloud/gbox/packages/cli/internal/proc_group" ) // AutoStartManager manages automatic server startup @@ -64,10 +66,8 @@ func (m *AutoStartManager) startServerInBackground() error { // Create command to start server in background cmd := exec.Command(execPath, "server", "start", "--daemon") - // Set up process attributes for daemon mode - cmd.SysProcAttr = &syscall.SysProcAttr{ - Setpgid: true, // Create new process group - } + // Set up process attributes for daemon mode (platform-specific) + procgroup.SetProcGrp(cmd) // Redirect output to log file logFile, err := os.OpenFile(m.logFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)