小编Pan*_*nic的帖子

在 golang 程序中运行交互式 shell 脚本

我想在golang程序中运行一个交互式shell脚本,比如包装一个“ping 8.8.8.8”、“python”、“bc”、“mysql -H -P -u -p”。golang 程序应该在它自己完成调用交互式命令或 shell 并与用户保持交互时退出。

我已经尝试过“exec.Command(“python”).Run()”,但是golang 程序刚刚完成并且没有留下任何东西给我。

func (h ConnectHandler)ConnectMySQL()  {
    logrus.Debug("ConnectMySQL, script:",common.CONF.FilePath.MySQLConnectScriptPath)
    err :=exec.Command("bash",common.CONF.FilePath.MySQLConnectScriptPath).Run()
    if err != nil{
        logrus.Errorf("ConnectMySQL failed, exit 1,%s",err)
        os.Exit(1)
    }
}
Run Code Online (Sandbox Code Playgroud)

go

4
推荐指数
2
解决办法
1803
查看次数

Task.Run(job) 和 job() 有什么不同;等待 Task.CompleteTask?

我想使同步功能异步

public JobSync()
{
 // a lot of logic
}
Run Code Online (Sandbox Code Playgroud)

两个都

public async JobAsync()
{
 JobSync()
 await Task.CompleteTask;
}
Run Code Online (Sandbox Code Playgroud)

Task.Run(()=>JobSync())
Run Code Online (Sandbox Code Playgroud)

作品,

但是两种方式有什么区别吗?

.net c# async-await .net-core

0
推荐指数
1
解决办法
111
查看次数

标签 统计

.net ×1

.net-core ×1

async-await ×1

c# ×1

go ×1