dongziya9863 2016-11-17 12:39
浏览 1393

如何使用Golang执行'top'命令输出

I want to write the 'top' command's output to another file. But when I tried it with the below code, I get the below error:

'exit status 1'.

Here is my code:

package main

import "os/exec"

func main() {
    app := "top"
    cmd := exec.Command(app)
    stdout, err := cmd.Output()

    if err != nil {
        println(err.Error())
        return
    }

    print(string(stdout))
}

Any help is greatly appreciated. Thanks in advance.

  • 写回答

2条回答 默认 最新

  • dongruolin5324 2016-11-17 13:20
    关注

    From man page for "top", -b option is good for sending output to another program (no color, no anything) as plain text, and -n is the number of frame it will iterate before stopping. Without -n it will iterate infinite time.

     func main() {
          app := "top"
          arg0 := "-b"
          arg1 := "-n"
          arg2 := "1"
    
          cmd := exec.Command(app, arg0, arg1, arg2)
          stdout, err := cmd.Output()
    
          if err != nil {
            println(err.Error())
            return
          }
    
          print(string(stdout))
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退