如何避免 Go 命令行执行产生“孤儿”进程?
在 Go 程序当中,如果我们要执行命令时,通常会使用 exec.Command ,也比较好用,通常状况下,可以达到我们的目的,如果我们逻辑当中,需要终止这个进程,则可以快速使用 cmd.Process.Kill() 方法来结束进程。但当我们要执行的命令会启动其他子进程来操作的时候,会发生什么情况? 0x01 孤儿进程的产生 测试小程序: package main import (...
在 Go 程序当中,如果我们要执行命令时,通常会使用 exec.Command ,也比较好用,通常状况下,可以达到我们的目的,如果我们逻辑当中,需要终止这个进程,则可以快速使用 cmd.Process.Kill() 方法来结束进程。但当我们要执行的命令会启动其他子进程来操作的时候,会发生什么情况? 0x01 孤儿进程的产生 测试小程序: package main import (...
Go 内置库中 io.Reader/Writer 是比较常用的接口。很多原生的接口都围绕这个系列的接口展开,在实际的开发过程中,你会发现通过这个接口可以在多种不同的 io 类型之间进行过渡和转化。 围绕 io.Reader/Writer,Go 语言中有几个常用的实现: net.Conn, os.Stdin, os.File: 网络、标准输入输出、文件的流读取 strings...
昨天看到一个Linux 使用 126 邮箱发邮件的文章. 0x01 安装 mailx 因为我的服务器上跑的是 OpenSUSE , 所以我用 zypper 装. chengchao@web1:~/bin> sudo zypper install mailx [sudo] password for chengchao: Retrieving repository 'openS...
As the title says. 0x01 脚本调试 有时即使某些命令运行失败,bash 可能继续去执行脚本,这样就影响到脚本的其余部分(会最终导致逻辑错误)。用下面的行的方式在遇到 命令失败时来退出脚本执行: #/usr/bin/env bash set -xeuo pipefail # -x 在执行每一个命令之前把经过变量展开之后的命令打印出来。 # 这个对...
公司的电脑升级 OpenJDK 8, 所以从 RedHet 官网下载了一个最新的版本, 结果被 Windows 扫描到有 CVE-2012-0507, 还因此禁用了我的网络连接. 那么什么是 CVE-2012-0507 漏洞呢? 以下是转载的内容. 这里就是 java 的 cve 2012 0507 的 poc 所在了,大部分网上流传的基本上都基于这里,而且大家要注意这个poc的攻击...
在 Jeff Atwood 发表于 2007 年的这篇博客里,他提出了著名的“Atwood 定律”,即”任何能够用 JavaScript 实现的应用系统,最终都必将用 JavaScript 实现。“ (Any application that can be written in JavaScript, will eventually be written in JavaScript.)那么,...
2014 年发布的 java SE 8 和 2017 年发布的 java EE 8,至今还是使用最广泛的 java 版本,大部分 java 开发者对于 java 8 之后的升级总是敬而远之,这跟 java 9 以后的破坏性升级和 oracle 的商用协议有关,但随着 9 月 java 17的发布,我们有更多理由去升级和在新项目中使用更新的 java 了。 为什么要升级? ja...
客户端组件是 Feign 中一个非常重要的组件, 负责做种的 HTTP 请求的执行, 它的核心逻辑是: 发送 Request 到服务器, 在接收到 Response 后进行解码, 最后返回结果. feign.Client 接口是代表客户端的顶层接口, 只有一个抽象方法: package feign; /** * Submits HTTP {@link Request reque...
Get [ERROR] Invalid syntax in configuration ini file. So you are trying to commit to git and getting [ERROR] Invalid syntax in configuration ini file. Right? Well this is generally caused by hooks...
tar 压缩一个文件 [chengchao@c7h00 ~]$ ls jdk [chengchao@c7h00 ~]$ tar -czvf jdk.tar.gz jdk jdk/ jdk/jdk-8u301-windows-x64.exe [chengchao@c7h00 ~]$ ls jdk jdk.tar.gz 说明: 将 jdk 目录打包并压缩为 jdk.tar.gz 文件....