1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package main
- import (
- "fmt"
- "os"
- "os/exec"
- "time"
- )
- // go build -ldflags -H=windowsgui main.go
- func main() {
- dir := getPwd()
- configService := fmt.Sprintf("%s\\%s\\%s", dir, "nats-bus", "config-server.exe")
- copterService := fmt.Sprintf("%s\\%s", dir, "copter-train.exe")
- // 对应应用的路径
- fmt.Println(configService)
- fmt.Println(copterService)
- // 先关闭应用
- appNames := []string{"config-server.exe", "copter-train.exe"}
- for _, name := range appNames {
- err := killProcess(name)
- if err != nil {
- fmt.Printf("Error: %v\n", err)
- }
- }
- // 启动config-server
- cmd := exec.Command(configService)
- err := cmd.Start()
- if err != nil {
- fmt.Printf("Error: %v\n", err)
- return
- }
- // 等待config-server启动
- time.Sleep(3 * time.Second)
- // 启动copter-train
- cmd1 := exec.Command(copterService)
- err1 := cmd1.Start()
- if err1 != nil {
- fmt.Printf("Error: %v\n", err1)
- }
- }
- // func startApp(app string) error {
- // cmd := exec.Command(app)
- // err := cmd.Start()
- // if err != nil {
- // return err
- // }
- // return nil
- // }
- func getPwd() string {
- dir, err := os.Getwd()
- if err != nil {
- fmt.Println("Error:", err)
- return ""
- }
- fmt.Println("Current directory:", dir)
- return dir
- }
- func killProcess(name string) error {
- cmd := exec.Command("taskkill", "/IM", name, "/F")
- err := cmd.Run()
- if err != nil {
- return fmt.Errorf("failed to kill process %s: %w", name, err)
- }
- return nil
- }
|