Go 执行ssh命令,可以';t终止远程服务器上的命令

Go 执行ssh命令,可以';t终止远程服务器上的命令,go,cmd,tail,kill-process,Go,Cmd,Tail,Kill Process,我使用go-exec-ssh在远程服务器上执行“tail-f”。然后我终止了进程,但是“tail-f”仍然在远程服务器上运行 我可以做些什么来终止远程服务器上的“tail-f”进程 我的代码如下: package main import ( "os/exec" "github.com/astaxie/beego" "time" ) func main() { var cmd = exec.Command("ssh","-t", "-p", "9122","d

我使用go-exec-ssh在远程服务器上执行“tail-f”。然后我终止了进程,但是“tail-f”仍然在远程服务器上运行

我可以做些什么来终止远程服务器上的“tail-f”进程

我的代码如下:

package main

import (
    "os/exec"
    "github.com/astaxie/beego"
    "time"
)

func main() {
    var  cmd = exec.Command("ssh","-t", "-p", "9122","deploy@123.com" ,"tail -f /log.out")
    var err error
    cmd.Start()
    time.Sleep(time.Second*5)
    err = cmd.Process.Kill() // when I kill this process, the remote server  deploy@123.com still has 'tail -f /log.out' running
    beego.Error(err)
}
只需在参数中再添加一个“-t”

var  cmd = exec.Command("ssh","-t", "-t", "-p", "9122","deploy@123.com" ,"tail -f /log.out")

有关更多信息,请参阅此

您可以尝试发送Control-C

w, err := cmd.StdinPipe()
ctlC, err := hex.DecodeString(`\x03`) //CtlC on most machines
w.Write(ctlC)
杀宋承宪之前

err = cmd.Process.Kill()
这在我的设置中起作用