首页 > 其他分享 >golang,再也不用管道了,exec.Command("bash", "-c", "ps -elf | grep xxx")

golang,再也不用管道了,exec.Command("bash", "-c", "ps -elf | grep xxx")

时间:2024-03-13 11:44:06浏览次数:27  
标签:ps old err exec cmd defer output grep

摘自:https://www.jb51.net/article/249001.htm

func System_CmdCombinedOutput(cmd_line string) ([]byte, error) {
    mutex_exec.Lock()
    defer mutex_exec.Unlock()

    // old_handler := C.set_SIGCHLD_DFL()    // 自己实现, 用c语言保存当前的信号屏蔽字
    // defer C.set_SIGCHLD_old(old_handler)  // 自己实现, 用c语言恢复之前的信号屏蔽字

    cmd := exec.Command("bash", "-c", cmd_line)
    output, err := cmd.CombinedOutput()

    return output, err
}

func System_CmdRun(cmd_line string) error {
    mutex_exec.Lock()
    defer mutex_exec.Unlock()

    // old_handler := C.set_SIGCHLD_DFL()    // 自己实现, 用c语言保存当前的信号屏蔽字
    // defer C.set_SIGCHLD_old(old_handler)  // 自己实现, 用c语言恢复之前的信号屏蔽字

    cmd := exec.Command("bash", "-c", cmd_line)
    err := cmd.Run()

    return err
}

 

// main.go


func main() {

    output, err := System_CmdCombinedOutput("ps -elf | grep xxx")  
    fmt.Println(string(output))

    output, err := System_CmdRun("tcpdump -i any '((udp and (port 6886)) or (sctp))' -C 200 -Z root -z gzip -w /var/xx/lmt_dump_20240313095959.pcap")  
    fmt.Println(string(output))

}

 

标签:ps,old,err,exec,cmd,defer,output,grep
From: https://www.cnblogs.com/LiuYanYGZ/p/18070300

相关文章

  • godot show FPS
    varinfo:="FPS:%dDrawcalls:%sGPU时间:%.3fmsCPU时间:%.3fms"#Calledeveryframe.'delta'istheelapsedtimesincethepreviousframe.func_process(delta): varfps=Performance.get_monitor(Performance.TIME_FPS) vardraw_call......
  • 为什么defineProps宏函数不需要从vue中import导入?
    前言我们每天写vue代码时都在用defineProps,但是你有没有思考过下面这些问题。为什么defineProps不需要import导入?为什么不能在非setup顶层使用defineProps?defineProps是如何将声明的props自动暴露给模板?举几个例子我们来看几个例子,分别对应上面的几个问题。先来看一个正常的......
  • 安装JDK11+Tomcat10.0.1+eclipse-jee-2023-12-R-win32-x86_64 配置
    第一步,先双击启动软件:改一下名称:C:\Users\Administrator\eclipse-workspace变成:C:\ProgramFiles\JavaJava:为什么JSP文件要放到SpringBoot工程的src/main/webapp目录下参考文章:https://blog.csdn.net/netyeaxi/article/details/100928105为了看到更具体的页面,可以做个性化......
  • eclipse连接hana数据库修改端口号
    在Eclipse中连接SAPHANA数据库时,如果需要修改端口号,你需要在JDBC连接URL中指定正确的端口。JDBC连接URL通常遵循以下格式:jdbc:sap://<hostname>:<port>/[<instance_number>]?currentschema=<schema_name>在这个URL中:<hostname>是SAPHANA数据库服务器的地址。<port>是SAP......
  • 浅谈非内存对抗类和AI自瞄类FPS作弊程序原理及常用反反作弊措施与反作弊应对手段(上)
    一、引言    闲来无事,在浏览微信公众号的时候无意刷到了江西余江警方关于破获全国首例“AI自瞄”类外挂的案件,涉案金额达到惊人的3000余万。不得不感叹近年来AI相关科技发展之迅速及国内有关于FPS类及其他大类游戏作弊的黑产市场之大。    在工作学习之余,......
  • linuxOPS基础_Linux系统的文件目录结构及用途
    linux系统文件目录结构Linux系统不同于Windows,没有C盘、D盘、E盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中。在Linux根目录(/)下包含很多的子目录,称为一级目录。​例如bin、boot、dev等。​同时,各一级目录下还含有......
  • grep 第四天
    grep第四天1使用grep取passwd显示行数grep-c''/etc/passwd[root@master~]#grep-c''/etc/passwd1352使用grep取passwd显示行号grep-n''/etc/passwd[root@master~]#grep-n''/etc/passwd1:root:x:0:0:root:/ro......
  • 【转】QPS和并发数的关系
     原文: https://www.cnblogs.com/ooo0/p/15963700.html-------------------- QPS:  请求进入的速度并发数:系统中同时存在的请求数 根据Little'sLaw,我们能得到如下的关系式:并发数 = QPS*耗时 以大学招生为例:大一新生的招收速度是5000人/年,每个学生在大学......
  • httpsok-v1.8.1 一分钟搞定SSL证书自动续期
    ......
  • Ubuntu中搭建eclipse arm Linux gcc + jlink调试环境
    嵌入式arm开发过程中,需要用到jlink进行调试开发,需要搭建eclipsearmlinuxgcc+jlink调试环境,按照以下步骤搭建的环境可以识别到jlink。0环境搭建概述所需工具:(1)EclipseEclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较好的灵活性。(2)CDTCDT......