Java调用Linux命令(cd的处理)】的更多相关文章

调用方式 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…
这里用 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…
// 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…
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…
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…
<%@ 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"…
一.应用场景 在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…
转自:http://blog.sina.com.cn/s/blog_6433391301019bpn.html 在java程序中如何调用linux的命令?如何调用shell脚本呢? 这里不得不提到java的process类了. process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类). process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut d…
目前总结的方法: 调用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…
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…
参考: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://blog.csdn.net/a19881029/article/details/8063758 java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例, 该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成. 检查进程的退出状态以及销…
常用Linux命令:cd, cp, ls, mkdir, mv, rm, su, uname cd命令:切换当前工作目录至 dirName(目录参数) 其中 dirName 可为绝对路径或相对路径.若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录). 另外,"~" 也表示为 home 目录的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录. cd [dirName] 参数: di…
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=***"…
package com.starfast.common.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.LineNumberReader; /** * @author DUCHONG * @since 20…
背景:本人写了一段java代码,调用cmd命令“wmic ...”来获取系统cpu.mem.handle等资源信息.在win7操作系统下运行没有问题,在xp系统下却发现读取窗口反馈信息时无反应(阻塞),但在cmd命令行窗口运行是没问题.经过多番查找,终于找到了解决方法. 原代码: public static String getCmdReturn(String cmdcomand) {                        String CmdReturn="";      …
代码如下: 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…
问题的提出: shell脚本要做离线的数据处理任务 java调用脚本,将这种处理任务封装成webservice 特点: shell处理单个时间长 每次要处理文件量大 这里目前只做调用分析: 原来的: private void runShell(String cmd){ try{ logger.info("the command "+cmd); // create a process for the shell ProcessBuilder pb = new ProcessBuilder…
一.使用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') ##得到的是执行的…
当需要Node.js在后台帮忙运行Linux命令脚本时, 可以用上以下方法 上代码 var spawn = require('child_process').spawn; free = spawn('xset', ['dpms','force','off']); // 捕获标准输出并将其打印到控制台 free.stdout.on('data', function (data) { console.log('standard output:\n' + data); }); // 捕获标准错误输出并…
qt中封装了相关的方法, 但是因为我的命令中用到了管道命令, 出现了非预期结果, 所有改用了linux系统原生的方法. 下边是一个判断某进程是否存在的例子. 当前存在一个问题,当linux返回多行时, 程序只能读取返回值的第一行.目前我的 解决方法是,将linux命令的输出重定向到一个文件,然后程序再去读这个文件. #include <stdlib.h> bool IsProcessOn() { string check_command = " ps -ef | grep -w pr…
前言 说明的是,本博文,是在以下的博文基础上,立足于它们,致力于我的大数据领域! http://kongcodecenter.iteye.com/blog/1231177 http://blog.csdn.net/u010376788/article/details/51337312 http://blog.csdn.net/arkblue/article/details/7897396 第一种:普通做法 首先,编号写WordCount.scala程序. 然后,打成jar包,命名为WC.jar.…
原文: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…