java 反射执行shell_java调用shell命令并获取执行结果的示例

使用到process和runtime两个类,返回值通过process类的getinputstream()方法获取

package ark;

import java.io.bufferedreader;

import java.io.ioexception;

import java.io.inputstreamreader;

import java.util.arraylist;

import java.util.list;

public class readcmdline {

public static void main(string args[]) {

process process = null;

list processlist = new arraylist();

try {

process = runtime.getruntime().exec("ps -aux");

bufferedreader input = new bufferedreader(new inputstreamreader(process.getinputstream()));

string line = "";

while ((line = input.readline()) != null) {

processlist.add(line);

}

input.close();

} catch (ioexception e) {

e.printstacktrace();

}

for (string line : processlist) {

system.out.println(line);

}

}

}

调用shell脚本,判断是否正常执行,如果正常结束,process的waitfor()方法返回0

public static void callshell(string shellstring) {

try {

process process = runtime.getruntime().exec(shellstring);

int exitvalue = process.waitfor();

if (0 != exitvalue) {

log.error("call shell failed. error code is :" + exitvalue);

}

} catch (throwable e) {

log.error("call shell failed. " + e);

}

}

以上这篇java调用shell命令并获取执行结果的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package generconfig; import java.io.File; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.exception.InvalidConfigurationException; import org.mybatis.generator.exception.XMLParserException; import org.mybatis.generator.internal.DefaultShellCallback; import org.springframework.context.support.GenericXmlApplicationContext; import com.pactera.service.schedule.ThreadReadPath; import com.pactera.util.CommTool; /*打包用File->Export->runnable JAR File Export Launch选择对应的类 Export destination 选择地址 Library handling:Copy required */ public class SMSThreadSender { public static void main(String[] args) { if(args.length==0) { System.out.println("短信服务开启,开始加载Spring配置。"); GenericXmlApplicationContext context = new GenericXmlApplicationContext(); context.setValidating(false); context.load("classpath:sysconfig/applicationContext.xml"); context.refresh(); System.out.println("开整·~~~~"); CommTool.smsthreadisruning=true; ThreadReadPath thread = new ThreadReadPath(); thread.smsname="sms"+CommTool.threadid; Thread t1 = new Thread(thread); t1.setName("sms"); t1.start(); System.out.println("已经启动"); } if(args.length==1) { String pfile=args[0]; System.out.println("短信服务开启,开始加载Spring配置。"+pfile); GenericXmlApplicationContext context = new GenericXmlApplicationContext(); context.setValidating(false); context.load(pfile); // context.load("classpath:sysconfig/applicationContext.xml"); context.refresh(); CommTool.smsth
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值