首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏偏前端工程师的驿站

    Java魔法堂:找外援的利器——Runtime.exec详解

    而 Runtime.exec方法 就为我们打开这么的一条路了。 Runtime.exec() 不是cmd或shell环境,因此无法直接调用dir等命令。若要调用命令行下的命令,请参考第2节的实例。   2.   五、总结                                     用适当的工具做适当的事, Runtime.exec方法 让我们功能实现的手段更灵活了!

    2K100发布于 2018-01-18
  • 来自专栏大数据进阶

    【转】Java中Runtime.exec的一些事 

    0.6 Runtime.exec()方法的所有重载。 catch (Throwable t) { t.printStackTrace(); } } } 8 总结 总结了几条规则,防止我们在进行Runtime.exec 你必须用Runtime.exec()去执行程序 你不能象命令行一样使用Runtime.exec()。 9 问答 问:为什么Runtime.exec("ls")没有任何输出? 答:调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例,该实例可用于控制进程或取得进程的相关信息。 所以正确执行Runtime.exec("ls")的例程如下: Java代码 try { Process process = Runtime.getRuntime().exec(command

    3.4K20发布于 2019-09-17
  • 来自专栏JAVA相关

    java Runtime.exec()执行shellcmd命令:常见的几种陷阱与一种完善实现

    Runtime.exec()常见的几种陷阱以及避免方法陷阱1:IllegalThreadStateException通过exec执行java命令为例子,最简单的方式如下。 [] args) { Runtime runtime = Runtime.getRuntime(); try { Process process = runtime.exec 陷阱2:Runtime.exec()可能hang住,甚至死锁首先看下Process类的文档说明 *

    By default, the created subprocess does not have ()的command参数当做命令行本质上来讲,Runtime.exec()的command参数只是一个可运行的命令或者脚本,并不等效于Shell解器或者Cmd.exe,如果你想进行输入输出重定向,pipeline 例如,下面的例子Process process = runtime.exec("java -version > a.txt");这样并不会产出a.txt文件。

    1.6K10编辑于 2024-11-17
  • 来自专栏挨踢小子部落阁

    Java实现数据库备份还原操作工具类

    dbName); Runtime runtime = Runtime.getRuntime(); try { Process process = runtime.exec System.out.println("开始还原数据"); try { //插入数据库备份恢复记录表 Process process = runtime.exec Process process = runtime.exec("cmd /c " + sb.toString()); Aiti答:runtime.exec();无法加载本地环境变量,因此需要定义绝对路径处理

    1.2K21发布于 2019-10-22
  • 来自专栏信安之路

    记一次 RCE 0day 的审计过程

    runtime.exec() 直接执行命令 Process process = runtime.exec("cmd /c " + sb.toString()); Process process = runtime.exec ("/home/mysql/mysql/bin/" + sb.toString()); runtime.exec() 不会自动过滤 Shell 特殊字符,攻击者可以注入 &&、;、|| 等符号进行命令拼接 使用 ProcessBuilder 替代 Runtime.exec() ProcessBuilder pb = new ProcessBuilder( "mysqldump", "-h", "3306

    54910编辑于 2025-03-20
  • 来自专栏网络安全攻防

    CVE-2020-2883:Weblogic反序列化分析

    com.tangosol.util.extractor.ReflectionExtractor().extract() Method.invoke() Runtime.exec com.tangosol.util.extractor.ReflectionExtractor().extract() Method.invoke() Runtime.exec ).extract() Method.invoke() Runtime.exec com.tangosol.util.extractor.ReflectionExtractor().extract() Method.invoke() Runtime.exec com.tangosol.util.extractor.ReflectionExtractor().extract() Method.invoke() Runtime.exec

    1.2K30发布于 2021-07-21
  • 来自专栏程序那些事

    java安全编码指南之:输入校验

    System.out.format("%s 时间不匹配,应该是某个月的第 %terd 天",input, c); } 输出结果: %1$tm 时间不匹配,应该是某个月的第 27rd 天 小心使用Runtime.exec () 我们知道Runtime.exec()使用来调用系统命令的,如果有恶意的用户调用了“rm -rf /”,一切的一切都完蛋了。 所以,我们在调用Runtime.exec()的时候,一定要小心注意检测用户的输入。 local"); break; default: break; } } 还有一种就是不使用Runtime.exec

    1.3K31发布于 2020-09-24
  • 来自专栏全栈程序员必看

    精简JRE的思路初探「建议收藏」

    /opt/jdk7/jre/lib/rt.jar"); classes.add(0, "xvf"); classes.add(0, "jar"); Process jarClass = runtime.exec ", "rt.jar", "com", "java", "javax", "META-INF", "org", "sun", "sunw" }; Process jarProcess = runtime.exec 这里的演示样例代码仅仅是简单示意了流程,离真正的工具化还有较大差距;基本的原因是大量使用了Runtime.exec方法来直接调用命令,这样不是非常灵活和可控;比方打包和解压能够利用JarOuputStream

    65010编辑于 2022-07-08
  • 来自专栏CSDN迁移

    Process类详解

    ProcessBuilder.start() 和 Runtime.exec() 方法都被用来创建一个操作系统进程(执行命令行操作),并返回 Process 子类的一个实例,该实例可用来控制进程状态并获得相关信息 Runtime.exec() 可接受一个单独的字符串,这个字符串是通过空格来分隔可执行命令程序和参数的;也可以接受字符串数组参数/list。 // Runtime.exec最终是通过调用ProcessBuilder来真正执行操作的 public Process exec(String[] cmdarray, String[] envp, File

    2.2K20编辑于 2022-10-25
  • 来自专栏中二病也要当白帽子

    一加8T(Android 11)安装Magisk获取Root并屏蔽检测、安装Edxposed、过SafetyNet等折腾之旅

    首先在Pro中下载 ProcessBuilder.start Runtime.exec/array Runtime.exec/array/env Runtime.exec/array/env/file Runtime.exec/cmd Runtime.exec/cmd/env Runtime.exec/cmd/env/file 一共7个。

    19.7K32发布于 2020-12-28
  • 来自专栏学习内容

    java实现spring boot项目启动时,重启Windows进程

    /IM " + course; } Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec /IM " + course; } Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec

    87410编辑于 2023-08-09
  • 来自专栏码农的生活

    用Java代码备份和还原MySQL数据库

    Runtime.getRuntime(); //-u后面是用户名,-p是密码-p后面最好不要有空格,-family是数据库的名字 Process process = runtime.exec Process process = runtime.exec("mysql -u root -p123456 --default-character-set=utf8 family");

    4.2K00发布于 2021-09-22
  • 来自专栏全栈程序员必看

    Android制作字符串表格String.xml转EXCEL工具

    获取命令的输出,得到系统中挂载的所有目录 Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec 获取命令的输出,得到系统中挂载的所有目录 Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec

    1.3K20编辑于 2022-09-23
  • 【详解】Java调用Windows命令

    Runtime runtime = Runtime.getRuntime(); // 执行命令 Process process = runtime.exec Runtime runtime = Runtime.getRuntime(); // 执行命令 Process process = runtime.exec Runtime runtime = Runtime.getRuntime(); // 执行命令 Process process = runtime.exec

    26710编辑于 2025-11-26
  • 来自专栏马洪彪

    Fortify Audit Workbench 笔记 Command Injection(命令注入)

    通常情况下,一次调用Runtime.exec() 函数并不会执行多条命令,但是在本例中,程序首先运行了 cmd.exe 指令,进而在一次 调用 Runtime.exec() 后便可以运行多条命令了。 这里的问题在于程序没有在它的构造中指定一个绝对路径,并且没能在执行Runtime.exec() 调用前清除它的环境变量。

    3K10发布于 2020-03-17
  • 来自专栏一猿小讲

    Java 配 Shell 等于美酒加咖啡

    在详细说 Runtime.exec() 这个重头戏之前,再品一品 df 这款咖啡。 其实 Runtime.exec() 方法设计,可接受一个单独的字符串,这个字符串是通过空格来分隔可执行命令程序和参数的;当然也可以接受字符串数组参数。 ? 相同点是 ProcessBuilder.start() 和 Runtime.exec() 方法都被用来创建一个操作系统进程(执行命令行操作)。 5.

    1.1K30发布于 2019-09-17
  • 来自专栏MyTechnology

    SpringBoot启动时执行指定任务

    index = url + "/index.html"; Runtime runtime = Runtime.getRuntime(); try { runtime.exec

    87110发布于 2020-07-31
  • 【详解】Java打开浏览器访问指定页面

    runtime = Runtime.getRuntime(); try { // 这里假设用户的操作系统是Windows runtime.exec 处理不支持 Desktop​ 的情况:如果 ​​Desktop​​ 不被支持,可以使用 ​​Runtime.exec​​ 方法执行操作系统的命令来打开浏览器。 跨平台考虑:上述示例中的 ​​Runtime.exec​​ 方法是针对Windows系统的。对于其他操作系统,如Linux或Mac OS,需要使用不同的命令来打开浏览器。

    84710编辑于 2025-01-10
  • 来自专栏软件工程师成长笔记

    判断监听系统网络状态

    isConnect() { Runtime runtime = Runtime.getRuntime(); try { Process process = runtime.exec

    94030发布于 2018-09-11
  • 来自专栏JAVA烂猪皮

    java 执行shell命令及日志收集避坑指南

    在java中,有两个api供调用:Runtime.exec(), Process API. 简单使用如下: 1.1. Runtime.exec() 实现   调用实现如下: import java.io.InputStream; public class RuntimeExecTest { @Test 以下Runtime.exec()的实现: // java.lang.Runtime#exec public Process exec(String[] cmdarray, String[] envp } finally { removeErrorLogHolder(); } } /** * 使用 Runtime.exec

    3K10发布于 2021-01-14
领券