我在寫一個GO腳本來檢查Mongo服務器是否在運行。我的代碼是,GOLANG檢查mongodb是否在運行
import "bytes"
import "os/exec"
import "fmt"
func main() {
cmd := exec.Command("ps", "-ef", "|", "grep", "mongod", "|", "grep", "-v", "grep", "|", "wc", "-l", "|", "tr", "-d", "'", "'")
fmt.Println(cmd)
var out bytes.Buffer
var stderr bytes.Buffer
cmd.Stdout = &out
cmd.Stderr = &stderr
err := cmd.Run()
if err != nil {
fmt.Println(fmt.Sprint(err) + ": " + stderr.String())
return
}
fmt.Println("Result: " + out.String())
}
但是出現錯誤爲「退出狀態1:錯誤:垃圾選項」。 有沒有其他的方法來檢查這與高隆?請告訴我。
在這裏你可以找到一個用bash啓動mongodb的start_stop_restart小程序。還有一個非常簡短的命令:) https://github.com/patrick0585/Mongo_Start_Stop/blob/master/mongo_start_stop.sh你的命令可以是ps -ef | awk/[m] ongodb/ –
也許這篇文章將幫助你如何檢查golang進程是如何運行的。 https://stackoverflow.com/questions/15204162/check-if-a-process-exists-in-go-way –
@ Patrick85但如何獲得與腳本的PID,因爲它仍然返回與短命令相同的錯誤,以及.. – Priyanka