Runtime.getruntime.exec注意事项

Runtime.getruntime.exec注意事项

    • 1.普通使用--简单命令
    • 2.指定文件下执行命令
    • 注意事情(有过滤脚本)
    • 注意事项2

1.普通使用–简单命令

Runtime.getruntime.exec(command);

		    // 可以是命令本身(ls)或者是脚本(/usr/local/test.sh)String command = "ls";Process proc = Runtime.getRuntime().exec(command);BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));String line = null;//读取结果while((line = in.readLine()) != null) {result.append(line);}in.close();

2.指定文件下执行命令

在 usr/local 文件下执行command命令。

Runtime.getRuntime().exec(command,new String[]{},"/usr/local")

注意事情(有过滤脚本)

如果命令中有管道|.此时执行命令是没有返回值的。必须采用编写脚本的方式。
获取java进程
eg: ps -ef|grep java

//这样是没有返回值的
Runtime.getRuntime().exec("ps -ef|grep java")
// 必须先写文件,然后执行文件脚本有返回值
File file = new File("/usr/local/grepCommand.sh")
if(!file.exists()){file.createNewFile();
}FileOutputStream fos = new FileOutputStream(file);fos.write("ps -ef|grep java".getBytes());fos.close();Runtime.getRuntime().exec("chmod 777 /usr/local/grepCommand.sh")//防止下面命令执行太快 权限还没好Thread.sleep(500);//此处可拿到结果Runtime.getRuntime().exec("/usr/local/grepCommand.sh")

注意事项2

如果执行的脚本是反复回写的流。执行的时候线程可能偶先自动中断的场景。

原因是网络不稳定,切换到光口中去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/5060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NLP(10)--TFIDF优劣势及其应用Demo

前言 仅记录学习过程,有问题欢迎讨论 TF*IDF: 优势: 可解释性好 可以清晰地看到关键词 即使预测结果出错,也很容易找到原因 计算速度快 分词本身占耗时最多,其余为简单统计计算 对标注数据依赖小 可以使用无标注语…

【状态机dp 状态压缩 分组】1994. 好子集的数目

本文涉及知识点 动态规划汇总 动态规划 状态机dp 状态压缩 分组 LeetCode1994. 好子集的数目 给你一个整数数组 nums 。如果 nums 的一个子集中,所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为 好子集 。 比方说&#xff…

离散数学之命题逻辑思维导图+大纲笔记(预习、期末复习,考研,)

大纲笔记: 命题逻辑的基本概念 命题与联结词 命题 命题是推理的基本单位 真命题,假命题 特征 陈述句 唯一的真值 是非真即假的陈述句 非命题 疑问句 祈使句 可真可假 悖论 模糊性 三个基本概念 复合命题 真值取决于原子命题的值和逻辑联结词 原子命题 逻…

基于SSM的考研助手系统(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的考研助手系统(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring Spri…

【Java】图书管理系统 介绍与实现

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 1.介绍 图书馆作为知识的殿堂和学术的中心,其管理系统不仅是图书馆管理的必备工具,更是为用户提供优质、高效服务的重要保障,促进了知识的传播和学术的发展。随着…

k8s部署在虚拟机和物理机区别

在Kubernetes中,部署应用程序的主要区别在于你的基础设施类型。在虚拟机(VM)上部署Kubernetes集群与在物理机上部署Kubernetes集群的主要区别在于资源的隔离方式。 虚拟机: 优点:资源可以被隔离,所以如果你…

远程为ubuntu安装teamviwer(无UI界面) - 简书

远程为ubuntu安装teamviwer(无UI界面) - 简书 远程为ubuntu安装teamviwer(无UI界面) - 简书

基于FPGA的数字信号处理(6)--如何确定Verilog表达式的符号

前言 尽管signed语法的使用能带来很多便利,但同时也给表达式的符号确定带来了更多的不确定性。比如一个有符号数和一个无符号数的加法/乘法结果是有符号数还是无符号数?一个有符号数和一个无符号数的比较结果是有符号数还是无符号数?等等。接…

力扣刷题Day2

题目链接: 24. 两两交换链表中的节点 - 力扣(LeetCode) 效果: 解题思路: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 注意不可以只是单纯的改变节点内部的值,而…

《QT实用小工具·四十七》可交互的创意动态按钮

1、概述 源码放在文章末尾 该项目实现了可交互的创意动态按钮,包含如下功能: 所有颜色自定义 鼠标悬浮渐变 两种点击效果:鼠标点击渐变 / 水波纹动画(可多层波纹叠加) 额外鼠标移入/移出/按下/弹起的实时/延迟共8种事…

$nextTick源码解析

this.$nextTick 是 Vue.js 内部使用的一个方法,用于在下一个 DOM 更新循环结束之后执行回调函数。 原理: nextTick 方法被调用后,会将回调函数存储在一个队列中Vue.js 会利用浏览器的异步队列机制,在 DOM 更新循环结束后执行这个队列中的所有回调函数。源码: /*** Defer…

51单片机两个中断及中断嵌套

文章目录 前言一、中断嵌套是什么?二、两个同级别中断2.1 中断运行关系2.2 测试程序 三、两个不同级别中断实现中断嵌套3.1 中断运行关系3.2 测试程序 总结 前言 提示:这里可以添加本文要记录的大概内容: 课程需要: 提示&#x…

德国著名自动化公司Festo设计了一款仿生蜜蜂,仅重34g,支持多只蜜蜂编队飞行!...

德国著名的气动元件研发及自动化解决方案供应商Festo公司近日展示了一款仿生蜜蜂(BionicBee),重量只有34g,却完全可以实现自主飞行,还支持多只相同的蜜蜂机器人编队飞行。 BionicBee 重约 34 克,长 22 厘米…

Android配置环境

安装jdk: 1.在Android 中文社区下载sdk:android-sdk_r24.4.1-linux.tgz下载jdk,解压 sudo mv /home/用户名/Downloads/jdk1.8.0_271 /usr/java 配置环境变量: 执行命令:sudo gedit /etc/profile 此命令是打开profil…

面试题:spring和mybatis整合之后为什么一级缓存会失效?

答案 一级缓存使用者可以随时使用或者销毁缓存,从SqlSession对象打开时缓存就已经存在。当关闭SqlSession对象缓存就失效。 当与spring整合的时候,直接跳过SqlSession对象,无法直接操作到SqlSession对象,spring在操作SqlSession的…

python安装cx_Oracle 遇到的问题

重要: 搞了一天,最后发现是python的版本和cx_Oracle版本对不上。 一开始安装的python版本是3.12,而cx_Oracle的最新版本是8.3.0, 对应的python版本为3.10,因此将python版本降低为3.10, 执行 pip install cx…

docker打包容器为镜像

要使用Docker将容器打包成镜像,你需要执行以下步骤: 创建一个Dockerfile,定义如何构建你的镜像。 使用docker build命令来创建镜像。 以下是一个简单的示例: 首先,创建一个名为Dockerfile的文件,内容如…

Redis线程模型及性能优化概述

redis线程模型: 网络模块命令处理 redis的性能: 一个取决于物理内存,另一个是对于socket请求的处理速度。 4.0以前 单线程模式 请求流程:对于一个请求,线程会根据操作产生相应的事件(读,写事…

基于Springboot的水产养殖系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的水产养殖系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

【MyBatis】进阶使用 (动态SQL)

动态SQL \<if>\<trim>\<where>\<set>\<foreach>\<include> 在填写表单时&#xff0c;有些数据是非必填字段&#xff08;例如性别&#xff0c;年龄等字段&#xff09;&#xff0c;那就需要在接收到参数时判断&#xff0c;根据参数具体的情况…