
正文
java代码调用脚本,运行java脚本
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在windows系统中开发的java程序要调用linux下的shell脚本怎么办
1、下面说一下,如何使用process来调用shell脚本例如,我需要在linux下实行linux命令:sh test.sh,下面就是执行test.sh命令的方法:这个var参数就是日期这个201102包的名字。
2、java虚拟机执行这个命令的过程是,首先克隆一条和当前虚拟机拥有一样环境变量的进程,再用这个新的进程执行外部命令,最后退出这个进程。频繁的创建对CPU和内存的消耗很大。
3、param1, param2, param3:可以在RUNNING_SHELL_FILE脚本中直接通过1,2,$3分别拿到的参数。
相关问答
Q1: java调用python脚本
1、不建议研究jython。比较简单的思路是把python脚本完全当做一个外部程序,用shell方式调用它。首先设计好python脚本的接口,把参数用命令行方式传入,然后输出打印出来。
2、因为你调用的test_tiger.py需要加载python里面的module,而java调用的时候这里的py脚本的模块都要加到python的环境变量里面。
3、如果是jython,也就是运行在Jvm上的python的话,可以使用JSR223,JDK6已经包含了该扩展包。JSR223是一个用于解析多种脚本语言的库包,其中包括Jython。除了JSR223包之外,还需要jython-engine.jar包。
Q2: Java调用JS脚本里的方法
1、Java是后台运行的,你需要把前台的js文件读入后台才能执行,比如通过engine.eval(new FileReader(jsfile));这样的语句才能执行 ,而且执行的结果只在后台,和前台没关系。
2、只能是js间接调用java 过程是:js在客户端浏览器上运行,然后js让浏览器发送请求到服务器,然后服务器上的中间件(如tomcat)来把浏览器的请求(httpRequest)转交给java程序来处理。
3、在java中调用js,jdk6中有加载js引擎类,然后由它来调用js方法。
Q3: java远程linux执行脚本java远程linux
使用java代码通过ssh登陆linux并执行命令,正常情况下sshd服务都会有,知道用户密码就可以使用这种方式了。
方法首先得看linux服务器的限制,如果服务器允许自定义的登录,并且你在服务器上运行了一个监听某端口(如1234)的程序,写一个client端,用socket连接上去,就可以执行了。
第一,你需要在远程Linux主机上面装好一个接收端程序,这个程序可以是java写的,也可以是C语言写的,都无所谓,因为网络接口是一样的,都是socket。
权限问题。java远程执行linux语句解压是需要权限的,由于权限问题导致java远程执行linux语句解压tar命令但是没有效果。Java是一个通用术语,用于表示Java软件及其组件。
java程序是提供了这个一方法, Process pro = Runtime.getRuntime().exec(cmds); 但是一般来说,尽量去用一些其他脚本(lua,shell,python)去执行一系列linux命令比较灵活, 而且耗费资源少。
下面说一下,如何使用process来调用shell脚本 例如,我需要在linux下实行linux命令:sh test.sh,下面就是执行test.sh命令的方法:这个var参数就是日期这个201102包的名字。
Q4: 怎么通过java去调用并执行shell脚本以及问题总结
对于第一个问题:java抓取,并且把结果打包。那么比较直接的做法就是,java接收各种消息(db,metaq等等),然后借助于jstorm集群进行调度和抓取。最后把抓取的结果保存到一个文件中,并且通过调用shell打包, 回传。
如何调用shell脚本呢?这里不得不提到java的process类了。process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类)。
如果shell脚本和java程序运行在不同的服务器上,可以使用远程执行Linux命令执行包,使用ssh2协议连接远程服务器,并发送执行命令就行了,ganymed.ssh2相关mave配置如下,你可以自己百度搜索相关资料。
java程序是提供了这个一方法, Process pro = Runtime.getRuntime().exec(cmds); 但是一般来说,尽量去用一些其他脚本(lua,shell,python)去执行一系列linux命令比较灵活, 而且耗费资源少。
Java调用shellJava语言以其跨平台性和简易性而著称,在Java里面的lang包里(java.lang.Runtime)提供了一个允许Java程序与该程序所运行的环境交互的接口,这就是Runtime类,在Runtime类里提供了获取当前运行环境的接口。
]{/bin/sh,-c,shellContext});其中 shellContext 是shel脚本字符串 这句提交的时候,不少博文 exec中是直接提交shellContext。但是对于一些场景不适用,取出来数据跟直接运行shell脚本有差异,可以改成我这种写法。
关于java代码调用脚本和运行java脚本的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







