0
何人かの人がいますか?mysqlコマンドを実行すると待機します。 ここに私のコードです。exec.Command(...)に移動します。wait()が永久にハングします
// Import imports data into Local database
func (x MySQL) Import(data string, opt LocalDb) {
var stderr bytes.Buffer
cmd := exec.Command("mysql", x.importOptions(opt)...)
// Set < pipe variable
stdin, err := cmd.StdinPipe()
errChk(err)
cmd.Stderr = &stderr
cmd.Start()
// Write data to pipe
io.WriteString(stdin, data)
fmt.Println("Importing " + x.DB + " to localhost...")
// Log mysql error
if err := cmd.Wait(); err != nil {
log.Fatal(stderr.String())
} else {
fmt.Println("Importing complete")
}
}
この関数は、すべてを達成し、MySQLはデータベースにデータをインポートしますが、それは待ってから戻ることはありません()だけで完成されていてもそこにフリーズします。
'cmd.Stderr =&stderr'行を削除してもまだハングしますか? –
mysqlはさらに入力を待ちます。 – tkausl
cmd.Stderrを削除しても変更されません。 –