Java调用Linux命令执行】的更多相关文章

调用方式 Java调用linux命令执行的方式有两种,一种是直接调用linux命令,一种是将linux命令写到.sh脚本中,然后调用脚本执行. 详细说明 直接调用:使用java中lang包下面的Runtime类和Process类,其中Runtime类中的Runtime.getRuntime().exec(linux command)方法可以直接执行linux命令,而Process类可以接收Runtime.getRuntime().exec()类的返回值,并提供了waitFor()方法和destr…
一.Java调用Linux系统的命令非常简单 这是一个非常常用的调用方法示例: public String executeLinuxCmd(String cmd) { System.out.println("got cmd job : " + cmd); Runtime run = Runtime.getRuntime(); try { Process process = run.exec(cmd); InputStream in = process.getInputStream();…
在idea里面,java代码:Runtime.getRuntime().exec("ps -aux") 是因为默认是用windows平台运行了,所以报错,得改成调用Linux平台运行: String[] cmd = new String[3];cmd[0] = "C:/Program Files (x86)/Git/bin/sh.exe" ;cmd[1] = "-c" ;cmd[2] ="D:/shell.sh";Proces…
// int tp = 1 返回执行结果  非1 返回命令执行后的输出 public static String runCommand(String cmd, int tp) { StringBuffer buf = new StringBuffer(1000); String rt = "-1"; try { Process pos = Runtime.getRuntime().exec(cmd); pos.waitFor(); if (tp == 1) { if (pos.exit…
这里用 sh -c "命令" 的方式是因为java里只能这么用,管道这边java处理不了,所以只能一次执行一条命令,但是在linux里用 sh -c 的方式返回的awk处理过的结果是有问题的,比如下面: [root@ ~]# sh -c "ping www.baidu.com -c 3 | awk -F '[ ]+' 'NR==8 {print $4}'" rtt min/avg/max/mdev = 3.514/3.778/4.232/0.329 ms 但是在ja…
java调用Linux执行Python爬虫,并将数据存储到elasticsearch中 一.以下博客代码使用的开发工具及环境如下: 1.idea: 2.jdk:1.8 3.elasticsearch:5.2.0 4.Linux 5.Python 6.maven 二.maven坐标: <!--java连接ulinix脚本架包--> <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>…
一.项目需求: 从某一机构获取证书,证书机构提供小工具,执行.sh脚本即可启动服务,本地调用该服务即可获取证书. 问题:linux服务器启动该服务,不能关闭.一旦关闭,服务即停止. 解决方案:java调用shell命令,利用spring容器启动即执行方案. 参考博文:http://zohan.iteye.com/blog/1709136 项目结构: 原码: 1.RuntimeUtils.java package com.csvalue.common; import org.springframe…
最近在做php和linux crontab的联调,发现php在linux下的权限问题需要引起注意,调试问题的过程中发现有许多问题前人说的比较零散,我在这里汇总,顺带抛砖引玉一下. 1.$result=system($cmd,$return_status)需要区分返回值与返回状态.返回值是$cmd执行后返回执行结果的最后一行,而$return_status是返回状态,比如$cmd是crontab一个计划任务,若Linux执行成功,则返回0(详见Linux条件测试)给$return_status,故…
在 scala 里面存在 调用 Linux 命令行的函数: import scala.sys.process._ 执行的方法也不难: import scala.sys.process._ /** * Created by TTyb on 2017/5/22. */ object test1 { def main(args: Array[String]): Unit = { val cmd = "history" val result = cmd.!! // 查看返回的结果 printl…
一.应用场景 在Spark程序中调用Linux命令,实现一些程序难以实现的功能,例如:发送模拟邮件.文件打包或解压等等 二.代码实现 package big.data.analyse.linux import org.apache.log4j.{Level, Logger} import org.apache.spark.sql.SparkSession import scala.sys.process._ /** * Created by zhen on 2019/10/10. */ obje…
1.编写java类 public class Abc { static { System.loadLibrary("abc"); } public native static String getAbc(); public static void main(String s[]) { System.out.println(getAbc()); } } 终端执行: java Abc.java 再执行:javah Abc 生成Abc.h文件 生成Abc.h的头文件,内容如下: /* DO…
Java审计之命令执行篇 0x00 前言 在Java中能执行命令的类其实并不多,不像php那样各种的命令执行函数.在Java中目前所知的能执行命令的类也就两种,分别是Runtime和 ProcessBuilder类. 0x01 Runtime 执行命令分析 关于Runtime具体的使用可以看这篇文章,反射去调用Runtime. Java学习之反射篇 @WebServlet("/execServlet") public class execServlet extends HttpServ…
JAVA调用windows的cmd命令 用起来会让程序变得更加简洁明了,非常实用. 核心就是使用 Runtime类. cmd的xcopy就有很强大的文件夹,文件处理功能. 下面就以xcopy来说明,如何使用java调用cmd命令. public static void folderCopy(String fromPath, String toPath) { String strCmd = "cmd /c xcopy /Y " + fromPath + " " + t…
Linux命令执行顺序— ||和&&和; command1 && command2: &&左边的command1执行成功(返回0表示成功)后,&&右边的command2才能被执行. command1 || command2: 如果||左边的command1执行失败(返回1表示失败),就执行&&右边的command2. command1;command2: 命令顺序执行 //第一个命令执行不成功,第二个命令才执行 [tough@…
<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%> <% //java运行Linux命令:Runtime.getRuntime().exec("/bin/bash  命令"); Runtime.getRuntime().exec("/bin/bash ./root/test.bash"…
转自:http://blog.sina.com.cn/s/blog_6433391301019bpn.html 在java程序中如何调用linux的命令?如何调用shell脚本呢? 这里不得不提到java的process类了. process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类). process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut d…
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; public class Main{ public static void main(String[] args) { //得到Java进程的相关Runtime运行对象 Runtime runtime = Runtime.getRuntime(); try { //利用exec()方法执行shell 命令 ls -a…
目前总结的方法: 调用Linux简单的命令行,设置文件夹权限755 String scriptDir = "/home/wenf"; String cmd = "chmod -R 755 "+scriptDir; Runtime run = Runtime.getRuntime(); try { run.exec(cmd); } catch (IOException e) { // TODO Auto-generated catch block e.printSta…
参考:http://blog.csdn.net/zhu_xun/article/details/19539513 http://www.cnblogs.com/kingcucumber/p/3180146.html 一.Process类 ProcessBuilder.start()创建一个本机进程,并返回一个Process子类的一个实例,该实例可以获取进程的相关信息,也可以控制进程.这个进程没有自己的终端,它的操作结果io都重定向到了它的父进程,父进程通过getInputStream(),get…
原文:http://kongcodecenter.iteye.com/blog/1231177 Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar)  使用步骤如下: 1.导包 官网下载: http://www.ganymed.ethz.ch/ssh2/ maven坐标: <dependency> <groupId>com.ganymed.ssh2</groupId> <artifactId>ganymed-s…
近日项目中有这样一个需求:系统中的外币资金调度完成以后,要将调度信息生成一个Txt文件,然后将这个Txt文件发送到另外一个系统(Kondor)中.生成文件自然使用OutputStreamWirter了,发送文件有两种方式,一种是用写个一个类似于FTP功能的程序,另外一种就是使用Java来调用Shell,在Shell中完成文件的发送操作.我们选择后一种,即当完成外币资金的调度工作后,用Java的OutputStreamWriter来生成一个Txt文件,然后用Java来调用Shell脚本,在Shel…
我们常在java中运行第三方程序,如sh.python,java提供一个Runtime.exec()方法,生成一个Process对象.今天在使用这个方法的时候,发现接口半天没有返回数据.查了一下,原来还有这样的一个坑.记录一下 代码是网上的,见如下. public static String execCmd(String cmd, File dir) throws Exception { StringBuilder result = new StringBuilder(); Process pr…
目录 一.命令分类 二.命令执行顺序 三.命令分类及查找基本命令 四.命令执行过程 一.命令分类 Linux命令分为两类,具体为内部命令和外部命令 内部命令: 指shell内部集成的命令,此类命令无需人为安装,开机后自动运行在内存中,命令help查看所有内部命令的详情,如cd.type.echo.time.true等. 外部命令: 指通过外部介质安装的命令工具包,如通过yum.rpm等方式安装,具体安装路径在$PATH下. 命令查看: type查看命令分类,内部命令显示 shell相关信息,外部…
代码如下: public static boolean execshell(String command, String user, String passwd, String host) throws JSchException, IOException { connect(user, passwd, host); BufferedReader reader = null; boolean flag = true; Channel channel = null; String charset…
原文这里有显示地址:http://zhou123.blog.51cto.com/4355617/1312791 现在摘取一部分: 这里介绍一下python执行shell命令的四种方法: 1.os模块中的os.system()这个函数来执行shell命令 1 2 3 >>> os.system('ls') anaconda-ks.cfg  install.log  install.log.syslog  send_sms_service.py  sms.py 0 注,这个方法得不到shel…
一.使用os模块 In [1]: import os #导入os模块 In [2]: os.system('ls') anaconda-ks.cfg epel-release-7-5.noarch.rpm ipython-4.1.2 ipython-4.1.2.tar.gz pip-8.1.2 pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz Out[2]: 0 In [3]: a=os.system('ls') ##得到的是执行的…
1.Java调用命令行,如果没有额外环境变量,不指定工作路径,Runtime有两个方法 public Process exec(String command) public Process exec(String cmdarray[]) ffmpeg推流本地视频命令如下 ffmpeg -re -i test.mp4 <param> <url> ffmpeg -re -i test.mp4 <param> "<url> socks=***"…
背景:本人写了一段java代码,调用cmd命令“wmic ...”来获取系统cpu.mem.handle等资源信息.在win7操作系统下运行没有问题,在xp系统下却发现读取窗口反馈信息时无反应(阻塞),但在cmd命令行窗口运行是没问题.经过多番查找,终于找到了解决方法. 原代码: public static String getCmdReturn(String cmdcomand) {                        String CmdReturn="";      …
Azure Resource Manager 提供一致的管理层,用于管理通过 Azure PowerShell.Azure CLI.Azure 门户.REST API 和开发工具执行的任务,所有工具使用一组通用操作,这就意味着Resource Manager 提供了一种新方法来部署和管理解决方案.下图显示各种工具如何与同一 Azure 资源管理器 API 交互, API 将请求传递给 Resource Manager 服务,后者对请求进行身份验证和授权,随后将请求路由到相应的资源提供程序. 本文…
方法一.使用os模块的system方法:os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256/512表示未找到,该方法适用于shell命令不需要输出内容的场景. os.system(cmd)会启动子进程,在子进程中执行cmd,如果cmd有执行内容,会在标准输出显示. 举例说明: 1. 列举当前目录下的所有文件. import os val = os.system('ls -al') print val #输出为0 val =…