我有一個簡單的Go應用程序,它偶爾會在后臺運行bash腳本。為簡單起見,我只是在后臺使用網頁啟動chrome。#!/bin/env bash
chrome https://www.google.com現在可能發生2件事:已經打開了一個鑲邊窗口。在這種情況下,chrome 會在現有窗口中打開網址并退出。尚未打開鑲邊窗口。在這種情況下,chrome 命令將成為 chrome 主進程,并綁定到瀏覽器窗口。這意味著如果我不關閉瀏覽器窗口,該進程不會退出,如果我的Go應用程序退出,瀏覽器將退出(因為它是子進程)。我不希望第二種情況發生!因為在這種情況下,如果我退出應用程序,Chrome也會退出,我不想要這樣。我是否可以以某種方式在 Go 中啟動一個進程(使用類似的東西),并將其與我的應用程序完全斷開連接,以便該進程獨立運行(不與我的進程一起退出,不阻止它)?exec.Command
1 回答

胡說叔叔
TA貢獻1804條經驗 獲得超8個贊
這似乎對我有用:
package main
import "os/exec"
func main() {
exec.Command(`C:\Windows\notepad`).Start()
}
回復評論。關于 ,如果你打電話,它本質上和打電話是一回事。關鍵是它允許您在命令的開始之間以及等待它完成時放置代碼。WaitWaitRunWait
與此形成鮮明對比的是 ,其中“開始”和“等待”一個接一個地發生,而沒有選擇在兩者之間放置任何東西?;蛘咴谶@種情況下,您根本不想要。RunWait
https://golang.org/pkg/os/exec#Cmd.Start
- 1 回答
- 0 關注
- 143 瀏覽
添加回答
舉報
0/150
提交
取消