首页
学习
活动
专区
圈层
工具
发布

Linux:java通过Runtime.getRuntime().exec()执行shell,Process.waitFor()返回Required key not available(126)问题

通过Java方法去调用shell脚本并执行,该方法会先后调用两个脚本,出现问题的是调用第二个脚本的时候,出现了该问题 问题 使用方法Runtime.getRuntime().exec()调用并执行脚本...Process.waitFor()方法返回值是否为0来确定是否成功执行(成功为0) 返回错误码126 查看Process.waitFor()方法的返回值:Required key not available...于是只能捕捉进程的输出来看是否能找到蛛丝马迹 增加代码如下: Process proc = Runtime.getRuntime().exec(strMakePathPath); StreamGobbler...; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class...解决 直接权限安排 chmod 777 文件 再次执行代码,发现问题解决了 结论 java通过Runtime.getRuntime().exec()执行shell,Process.waitFor()返回

27900
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    RunTime.getRuntime().exec()运行脚本命令介绍和阻塞

    java在企业级项目开发中,无论是强制性的功能需要,还是为了简便java的实现,需要调用服务器命令脚本来执行。...在java中,RunTime.getRuntime().exec()就实现了这个功能。     ...RunTime.getRuntime().exec(String  command);                          在windows下相当于直接调用   /开始/搜索程序和文件...public Process exec(String [] cmdArray);              Linux下:              Runtime.getRuntime().exec(...如果没有终止该子进程,调用的线程将被阻塞,直到退出子进程,根据惯例,0 表示正常终止   注意:在java中,调用runtime线程执行脚本是非常消耗资源的,所以切忌不要频繁使用!

    3.4K90

    PHP执行系统外部命令函数:exec()、passthru()、system()、shell_exec()

    php提供4种方法执行系统外部命令:exec()、passthru()、system()、 shell_exec()。 在开始介绍前,先检查下php配置文件php.ini中是有禁止这是个函数。...> 执行结果: test.php Array( [0] => index.php [1] => test.php) 知识点: exec 执行系统外部命令时不会输出结果,而是返回结果的最后一行,如果你想得到结果你可以使用第二个参数...第三个参数用来取得命令执行的状态码,通常执行成功都是返回0。...和exec的区别在于system在执行系统外部命令时,直接将结果输出到浏览器,不需要使用 echo 或 return 来查看结果,如果执行命令成功则返回true,否则返回false。...第二个参数与exec第三个参数含义一样。 方法四:反撇号`和shell_exec() shell_exec() 函数实际上仅是反撇号 (`) 操作符的变体 代码: 1 2 3 <?

    2.8K20

    php执行系统外部命令函数:exec()、passthru()、system()、 shell_exec()

    php提供4种方法执行系统外部命令:exec()、passthru()、system()、 shell_exec() 先检查配置文件php.ini中是否有禁止这是个函数。...方法一:exec() function exec(string $command,array[optional] $output,int[optional] $return_value) 知识点: exec...第三个参数用来取得命令执行的状态码,通常执行成功都是返回0。...在执行系统外部命令时,直接将结果输出到浏览器,不需要使用 echo 或 return 来查看结果,如果执行命令成功则返回true,否则返回false。...方法四:间隔符号 ` 和shell_exec() shell_exec ( string $cmd ) : string 注:shell_exec() 函数实际上仅是间隔符号 `  操作符的变体。

    1.5K31

    Node环境执行shell命令行exec

    来备份数据,每次都需要使用ssh 登录服务器, 但是有时候会登录超时(因为git的ip地址是美国的,我的服务器又是国内的,服务器会报警),导致备份数据失败 所以思考了一下,能不能使用node api来执行备份数据的操作...简直快捷又方便 本质就是通过node来执行shell命令行 直接开搞 主要是使用child_process的中的exec const { exec } = require("child_process"...); const { promisify } = require("util"); const execAsync = promisify(exec); promisify是当node中一些标准的call...,具体的相关信息在stdout和stderr 中 它并不会“知道”你这个命令是否 备份成功,它只是执行你拼接的 mongodump 命令,并返回执行过程中的标准输出 (stdout) 和标准错误 (stderr...如果命令执行过程中出现错误(例如 mongodump 执行失败),execAsync 会抛出异常(因为 exec 遵循的是 Node.js 的标准回调格式:(error, stdout, stderr)

    21710

    探秘Java Runtime类:深入了解JVM运行时环境,有两下子!

    常用方法Java Runtime类提供了很多有用的方法,下面简要介绍几个常用的方法:availableProcessors():返回JVM可用的处理器数目;exec():启动一个独立进程,并在此进程中执行指定的命令...;exec()exec()方法启动一个独立进程,并在此进程中执行指定的命令。...().exec("notepad.exe");示例截图如下:代码解析  上面这段代码是 Java 中使用 Runtime 类的示例,Runtime 类是一个单例类,它代表了当前 Java 应用程序的运行时环境...这段Java代码演示了如何使用java.lang.Runtime类的一些常用方法来执行系统级别的操作。...exec():允许我们启动新进程,执行系统命令,为Java程序提供了与操作系统交互的能力。

    82041

    【JAVA代码审计】——1、Spring框架知识篇

    参考链接: Java中StringTokenizer类的示例| 1(构造函数) 本期Java代码审计Spring框架知识篇将讲述Spring构造POC要必备的知识。 ...但Spring框架漏洞则是某组件可能存在解析执行系统命令代码的方法并根据命令执行方法(Runtime.getRuntime().exec(cmd))构造执行系统命令的POC,如果命令执行成功,造成Spring...2.例子  此处以getRuntime为例,Runtime.getRuntime().exec(cmd)执行系统命令并弹出计算器。 ...系统命令的执行结果:  此方法将产生一个本地的进程,并返回一个Process子类的实例(注意:Runtime.getRuntime().exec(cmd)返回的是一个Process类的实例)该实例可用于控制进程或取得进程的相关信息...4.SpEL基础表达式用法  用来计算String类型的字面值:   #{'HELLO'} 为了在SpEL中表达使用Java的Runtime类,可以调用T()运算符所得到类型的静态方法。

    68420

    Java类的加载方式、类的初始化、类的执行方式

    类加载器(ClassLoader),顾名思义,即加载类的东西。...3由用户指定类加载器。如果需要在当前类路径以外寻找类,则只能采用第3种方式。即第3种方式加载的类与当前类分属不同的命名空间。...1是静态加载、2、3是动态加载 异常(exception) 静态加载的时候如果在运行环境中找不到要初始化的类,抛出的是NoClassDefFoundError,它在JAVA的异常体系中是一个Error;...动态态加载的时候如果在运行环境中找不到要初始化的类,抛出的是ClassNotFoundException,它在JAVA的异常体系中是一个checked异常。...,父类也会初始化 6 虚拟机启动时被标明是启动类的类(java Test),直接用java.exe运行某个类; 程序执行结束的几种方式: 1 system.exit(); 2 正常执行完毕; 3

    1.5K00

    sql调用存储过程exec用法_sqlserver存储过程执行日志

    一、【存储过程】 存储过程的T-SQL语句编译以后可多次执行,由于T-SQL语句不需要重新编译,所以执行存储过程可以 提高性能。...存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指 定存储过程的名称并给出参数来执行。...)语句可以执行一个已定义的存储过程。...out 代码示例2 exec有两个语法:第一个,执行存储过程:如果 EXEC SP_XXX第二个,执行组合的命令字符串 ----------------------------------------...-- 查看数据库中的表 use sixstardb exec sp_tables -- 查看数据表中的字段 exec sp_columns student -- 查看索引 exec sp_helpindex

    4.6K10
    领券