golangで.exeファイルを実行し、Webソケットで出力値を送信します。exec batまたは.exeファイルをGloangしても出力が得られない
私はbashファイルを実行しますが、.exeまたは.batファイル(.batファイルはいくつかのパラメータを含む.exeファイルを実行します)で動作しない場合、Linuxではうまく動作します。プログラムは実行されましたが、私は決してスクリプトの出力を見たり聞いたりしません。私の問題は、ウィンドウのスクリプトの出力を取得する方法です。あなたが私を助けることができれば、それは評価されるだろう。
感謝:)あなたの助けを
cmd := exec.Command("cmd", "/C", "file.exe or file.bat", "parameters")
stdout, err := cmd.StdoutPipe()
if err != nil {
panic(err)
}
stderr, err := cmd.StderrPipe()
if err != nil {
panic(err)
}
err = cmd.Start()
if err != nil {
panic(err)
}
scannerOut := bufio.NewScanner(stdout)
for scannerOut.Scan() {
log.Printf("%s", scannerOut.Text())
err = socket.Emit("test", map[string]interface{}{"user": user, "name": Name, "data": scannerOut.Text()})
if err != nil {
log.Println(err)
}
}
おかげで私はそれを試してみましたが、再び私のためのスクリプトが実行されましたが、私は出力を持っていない:/
output, err := exec.Command("cmd", "/C", cmdPath).CombinedOutput()
//cmd := exec.Command("ping", "google.fr", "-t")
//cmd := exec.Command("cmd", "/C", "C:/Users/Cyril/Desktop/zec_miner/miner", "--server", "zec-eu1.nanopool.org", "--user", "t1cjM242nws6QjfGWApeASG9DNDpsrHWv8A.ccl3ouf/[email protected]", "--pass", "z", "--port", "6666")
/*stdout, err := cmd.StdoutPipe()*/
if err != nil {
panic(err)
}
log.Printf("%s", string(output))
err = socket.Emit("test", map[string]interface{}{"user": user, "rig_name": rigName, "data": output})
if err != nil {
log.Println(err)
}
Windows 0分離を検出しました。それはGoogleです。 – Codebeat