linux下java调用python脚本,java - 在Linux Terminal中以编程方式从Java调用python脚本 - 堆栈内存溢出...
我正在开发一个Java应用程序,用于检查源文件中的补丁程序(是否存在)。 用于检测补丁程序更改的核心逻辑位于python脚本[titled'patch.py']中,并且我的Java应用程序与此Python补丁程序脚本进行通信以获取操作的退出状态。
python脚本可以从这里获得
在Windows中,它工作正常,但在Linux env中。 脚本本身不会被Java应用程序调用。 我不确定哪里出了问题。
我正在使用“ ProcessBuilder”来调用python脚本,并且源代码如下:
if (System.getProperty("os.name").indexOf("Windows") != -1) {
ArrayList command = new ArrayList();
//Cmd prompt will be launched, if platform is Windows.
command.add("cmd");
command.add("/c");
command.add("python");
command.add("lib/patch.py");
command.add("-d");
command.add(auxSrcFile);
command.add(diffFileLoc);
command.add("--revert"); // switch to revert the patch
pb = new ProcessBuilder(command);
} else {
ArrayList command = new ArrayList();
//xterm will be launched, if platform is Linux.
command.add("xterm");
command.add("-e");
command.add("python");
command.add("lib/patch.py");
command.add("-d");
command.add(auxSrcFile);
command.add(diffFileLoc);
command.add("--revert"); // switch to revert the patch
pb = new ProcessBuilder(command);
}
if (pb != null) {
p = pb.start();
if (p != null) {
p.waitFor();
}
}
int exitStatus = p.exitValue();
if(exitStatus == 1) {
System.out.println("...OK");
System.out.println(" ----Patch detected------");
} else {
System.out.println("...ERROR");
System.out.println(" ----Patch not found------");
}
如果在Windows中运行Java应用程序,则python脚本将被正确调用,而如果在Linux环境中运行该应用程序,则该脚本将失败。
建议是受欢迎的!
注意:我可以独立运行'patch.py'脚本(在Linux终端中),但是当我尝试从Java应用程序中调用该脚本时,我将无法调用它,并且总是获得退出值'0'。
linux下java调用python脚本,java - 在Linux Terminal中以编程方式从Java调用python脚本 - 堆栈内存溢出...相关推荐
- java drawstring 字体_java - 为什么字体大小为101的Graphics2D.drawString字母“o”坏了? - 堆栈内存溢出...
我想在png中绘制字符串. 我需要高达600像素的字母. 因此我尝试使用Graphics2D.drawString: String text = "o"; graphics.set ...
- java spark 读取json_apache-spark - 与aws-java-sdk链接时,在读取json文件时发生Spark崩溃 - 堆栈内存溢出...
让config.json成为一个小的json文件: { "toto": 1 } 我做了一个简单的代码,用sc.textFile读取json文件(因为文件可以在S3,本地或HDFS上 ...
- linux运行时命令找不到,linux - 在运行Bash脚本时找不到命令,但是在直接运行命令时有效 - 堆栈内存溢出...
我一直在使用letencrypt为我的网站生成SSL证书,更具体地说是letencrypt_webfaction. 当我在项目中运行此命令时,它可以工作 letsencrypt_webfaction ...
- java从端口接收数据_java - Java中通过串行端口接收数据的效率更高 - 堆栈内存溢出...
这是代码片段 我在这里启动一个动作监听器 try { port_seleted.addEventListener(this); } catch (TooManyListenersException e ...
- java获取excel文件第一行_java - 在Java中读取Excel文件,但第一行除外 - 堆栈内存溢出...
我正在尝试从使用xlsx文件的JasperReport模板自动创建报告,我用来从excel文件读取的方法是这样的: String[] columnNames = new String[]{" ...
- arcgis怎么用python重新排序_python - 根据排序数据添加新的顺序ID号(ArcGIS) - 堆栈内存溢出...
我需要一行代码,它将根据我为数据规定的顺序发出新的顺序ID. 基本上,在按照我的喜好对数据进行排序后,原始的Object_Id对我来说不再是有意义的顺序. 在我的表中,我创建了一个新字段(短整数). ...
- linux 段大小,linux - 在套接字上的Linux中减少TCP最大段大小(MSS) - 堆栈内存溢出...
在一个特殊的应用程序中,我们的服务器需要更新资源不足的传感器/跟踪设备的固件,我们遇到了一个问题,即有时会在接收新固件数据包的远程设备(客户端)中丢失数据. 连接是GPRS网络上的TCP / IP. ...
- Android消息向下堆积,android - 从CoordinatorLayout中的按钮单击事件触发NestedScroll折叠动作 - 堆栈内存溢出...
我有一个CoordinatorLayout,它包含一个ViewPager,该控件使用嵌套的滚动行为可以正常滚动. 但是,我想在单击按钮时触发滚动/折叠行为. 如何通过单击按钮来控制这种崩溃行为. 通过 ...
- python合并数组输出重复项_python - 不同数组项的所有可能组合[重复] - 堆栈内存溢出...
您需要笛卡尔积 . >>> arrays = [ ... [[1, 2], [3, 4]], ... [[4, 5], [5, 6]], ... [[7, 8], [8, 9]], ...
最新文章
- php 导出excel 特殊字符,export 导出的excel sheet名字包含特殊字符
- DL_WITH_PY系统学习(第2章)
- daterangepicker java_日期选择插件Date Range Picker
- 我和小美的撸码日记(1)之软件也需靠脸吃饭,带您做张明星脸(附后台经典框架 DEMO 下载)...
- 权限管理(1):简介
- ASP.NET 导入 Excel
- CentOS6.7 mysql 主从配置
- Office默认打开方式的改变方法以及安装程序莫名启动问题的权威汇总
- JavaScript代理_ES6新增
- 技术译文 | MySQL 8 需要多大的 innodb_buffer_pool_instances 值(上)
- edi许可证和ICP区别
- NOTION 换深色背景 黑色背景
- 万能Markdown数学公式
- 获取当前时间、获取当前月的第一天、获取当前年的第一天
- 16进制数组和ASK码字符之间的转换
- java调用R语言传参数时,RserveException: eval failed Syntax error
- Moodle专题网站链接
- Springboot 系列(十三)使用邮件服务
- 图像配准(Image Registration)——深度学习方法
- 测试软件下载安装整理
热门文章
- dann的alpha torch_一图解密AlphaZero(附Pytorch实践)
- dbda.class.php 下载,DBDA
- Python6种创建字典的方式
- python filter()和reduce()函数用法详解
- python取当前时间前后一定间隔的时间点
- python functools模块(主要是为函数式编程而设计,用于增强函数功能,主要为可调用对象(callable objects)定义高阶函数或操作)
- 尝试修改LabelImg,将以对顶角画框改成以对角线相交点向四周画框
- python list()函数 (从可迭代对象返回初始化的新列表)
- PtQt4标准对话框——QFileDialog
- Atom + Texlive 配置