成都创新互联网站制作重庆分公司

java代码执行sh脚本 java执行脚本语言

Java在linux上调用shell脚本

上的 Win16/DOS 进程,或者 shell 脚本。创建的子进程没有自己的终端或控制台。

创新互联建站秉承实现全网价值营销的理念,以专业定制企业官网,成都网站制作、成都网站建设,重庆小程序开发公司,网页设计制作,移动网站建设成都全网营销帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。

如果shell脚本和java程序运行在不同的服务器上,可以使用远程执行Linux命令执行包,使用ssh2协议连接远程服务器,并发送执行命令就行了,ganymed.ssh2相关mave配置如下,你可以自己百度搜索相关资料。

/usr/local/a.bat 文件没有被授予可执行权限,导致无法执行;java 未能识别sh 命令,最好调用java.lang.Runtime.exec(String cmd, String[] envp)方法,将sh 的上下文路径设置进去,估计就没有问题了。

Java调用linux的shell脚本不成功解决得分,该如何处理

/usr/local/a.bat 文件没有被授予可执行权限,导致无法执行;java 未能识别sh 命令,最好调用java.lang.Runtime.exec(String cmd, String[] envp)方法,将sh 的上下文路径设置进去,估计就没有问题了。

SHELL_FILE_DIR:要运行的脚本所在的目录; 当然你也可以把要运行的脚本写成全路径。runningStatus:运行状态,0标识正常。 详细可以看java文档。

java程序是提供了这个一方法, Process pro = Runtime.getRuntime().exec(cmds);但是一般来说,尽量去用一些其他脚本(lua,shell,python)去执行一系列linux命令比较灵活, 而且耗费资源少。

sh脚本如何自动执行java程序,并且该脚本如何被定期调用?

脚本还是简单:/sbin/java /.../javaproject/delete 当然上面的需要将路径设置正确。最好能将delete.java修改为首字母大写的Delete.java,然后编译。

exportPATH=$PATH:$JAVA_HOME/bin:/root/bin:$NODE_HOME/bin:$CASPERJS_HOME/bin:$PHANTOMJS_HOME/bin 原来是因为java在调用shell的时候,默认用的是系统的/bin/下的指令。特别是你用root权限运行的时候。

在写程序时,有时需要在java程序中调用shell脚本,可以通过Runtime的exec方法来调用shell程序,运行脚本。每个Java 应用程序都有一个Runtime 类实例,使应用程序能够与其运行的环境相连接。

如果shell脚本和java程序运行在不同的服务器上,可以使用远程执行Linux命令执行包,使用ssh2协议连接远程服务器,并发送执行命令就行了,ganymed.ssh2相关mave配置如下,你可以自己百度搜索相关资料。

如楼上所说,在脚本里的每条有持续性的命令后加&符,此条命令就会后台执行,然后继续下一条。对于输出,可以定义一个writelog函数,将输出写到文件里以便之后查看。


本文名称:java代码执行sh脚本 java执行脚本语言
链接分享:http://cxhlcq.com/article/depidgh.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部