后台执行linux命令
/**
*
* 方法说明:移植执行linux命令
*
* @param cmdStr 需要执行的linux命令
* @return 执行命令后的输出(如果是启动一个进程,则可能一直无法返回)
* @throws IOException
* @作者及日期:liuhengheng 2014-4-8
* @修改人及日期:zht 2017-12-7
* @修改描述:
* @其他:
*/
public static String doLinuxCmd(String cmdStr) throws IOException {
Process exec = doLinuxCmdNoOut(cmdStr);
InputStream inputStream = (InputStream) exec .getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder builder = new StringBuilder();
try {
String temp;
while ((temp = bufferedReader.readLine()) != null) {//控制台输出
builder.append(temp);
}
} catch (Exception e) {
InterfaceLogger.error("移植执行linux命令 error",e);
} finally {
bufferedReader.close();
inputStreamReader.close();
inputStream.close();
}
log.info("linux返回值: " + builder.toString());
return builder.toString();
}
/**
*
* 方法说明:移植执行linux命令
*
* @param cmdStr
* @return
* @throws IOException
* @作者及日期:liuhengheng 2015-1-2
* @修改人及日期:zht 2017-12-7
* @修改描述:
* @其他:
*/
public static Process doLinuxCmdNoOut(String cmdStr) throws IOException {
ArrayList<String> cmds = new ArrayList<String>();
cmds.add("bash");
cmds.add("-c");
cmds.add(cmdStr);
ProcessBuilder pb = new ProcessBuilder(cmds);
pb.redirectErrorStream(true);
Process exec = pb.start();
return exec;
}
相关文章
- [Linux] linux文件系统学习
- Linux netstat命令详解
- Linux chmod +755和chmod +777 各是什么意思呢?
- jemalloc在linux上从安装到使用
- Linux C++开发环境搭建
- 【Linux基础】linux下的stdin,stdout和stderr理解
- 【Linux基础】Linux下软件包管理(rpm-deb-yast-yum)
- 修改Linux命令:ls为例
- linux配置网卡IP地址命令详细介绍及一些常用网络配置命令
- 成功解决Windows10环境下运行Linux系统下的.sh文件
- Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)
- L75.linux命令每日一练 -- 第11章 Linux系统管理命令 -- lsof和uptime
- L74.linux命令每日一练 -- 第十章 Linux网络管理命令 -- nmap和tcpdump
- L71.linux命令每日一练 -- 第十章 Linux网络管理命令 -- wget和mailq
- L67.linux命令每日一练 -- 第十章 Linux网络管理命令 -- netstat和ss
- L55.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- mkswap和swapon
- L40.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- useradd和usermod
- 华为HCIE云计算之IPsan存储裸设备映射给Linux主机
- conda安装r Linux系统中 linux中安装r
- Linux【实操篇】—— 用户管理、linux系统root密码找回方式
- ZYNQ - 嵌入式Linux开发 -08- linux应用程序开发
- linux 下后台运行python脚本(nohup)
- 使用wget批量下载geo数据集的全部文件 linux下载geo数据 geo处理的数据不是下载原始数据 Linux如何下载ftp文件 geo ftp geo ftp下载 geo下载
- 溯源(三)之Linux-入侵排查