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

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