java调用linux语句,第一个脚本的返回结果是第二个脚本的入参,怎样调用

问题一:
执行多个linux控制台脚本,比如第一个脚本的返回结果是第二个脚本的入参。
比如说我想要先查看进程,然后杀死他,杀死他的时候需要进程号,这个怎样操作?
下面这样?


                    Session session=con.openSession();
            session.execCommand("ps -ef | grep /home/aa/aaa.jar");
            Session sess = con.openSession();
            sess.execCommand("kill -9 正常情况下这是PID");

问题二:
我知道查看进程再杀死他可以用一条语句完成,但是我之后想要在重启进程,然后查看是否重启成功。
这样就要再次查看重启的进程是否有进程号,就要调用之前的查看进程语句。
因此我没办法把他们写成一条语句。
那么问题来了,怎样调用之前的查看进程语句?

问题三:
上述查看进程号的语句ps -ef | grep /home/aa/aaa.jar中文件夹名字:aa和问价aaa.jar
都是写springboot作为参数传递进来的,那么就不能在程序中体现出来,这样在
session.execCommand("ps -ef | grep /home/aa/aaa.jar");
怎样改动?正常情况下网址可以相加“+”,但是在这个语句中我不知道该怎样修改。

0

2个回答

session.excCommand每次只能执行一条语句,如果想要执行两条语句,则有两种方法:
1、执行一条语句后,session。close();先关闭,再打开,不过此方法第二条打开执行的语句在根目录下,两条语句无法连贯。
2、用session.excCommand(“aaa;bbb”)

问题三的结局方式:
String One=“/home/”
String Two=aa;
aaa.jar是文件的原文件名,则:String origFileName = file.getOriginalFilename();
String cmd=One+Two+"/"+origFileName;
session.excCommand(cmd);

0
  1. InputStream stdOut = new StreamGobbler(session.getStdout());
    String outStr = processStream(stdOut, charset);

  2. 再调一遍不就行了吗?

  3. 字符串相加不行吗?没明白问题在哪?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Linux 定时调用脚本
Linux 定时调用脚本
脚本与脚本的调用
脚本(一般.sh结尾) 程序中加双引号与不加差距不大(是弱引用),依然可以给变量取值,但是如果有空格必须加上。 单引号强引用,直接输出字符 赋值等号两边不可以有空格,有空格则变成判断是否相等 #注释 ...
脚本与脚本之间的调用
http://forum.cocos.com/t/topic/42059
Java调用Shell命令和脚本
Java调用Shell命令和脚本 http://blog.csdn.net/u010376788/article/details/51337312    Java中ProcessBuilder使用 http://shensy.iteye.com/blog/1756756    深入研究java.lang.Process类&Process的的waitFor()造成的阻塞 ht...
java 调用groovy 脚本
1、groovy介绍          groovy 作为 java 语言的扩展,支持绝大多数java语法,运行在虚拟机上,可以直接使用java 的公共类库,很多代码都是用java实现的,少部分用groovy实现,所有能和groovy能和java无缝集成,groovy 被编译成java 字节码,能够在java和web中调用;     groovy是一个动态语言,也可以简单认为是...
Java调用Groovy脚本
概述    在Java和Groovy的结合中,经常会碰到需要从Java代码中调起一个写好的Groovy脚本,我们可以通过GroovyShell来实现。其中最重要的就是GroovyShell和Binding两个类,其中GroovyShell可以调起一个Groovy脚本,而Binding可以向脚本里面传递参数。简单示例//通过Binding向要执行的groovy脚本传递变量 Bindi...
java调用groovy脚本
[code="java"] import groovy.lang.GroovyClassLoader; import java.lang.reflect.Method; public class GroovyUtils { public static void main(String[] args) { StringBuffer scriptBuff = new St...
java调用sql脚本
/**rn * 执行SQL脚本文件rn * @param pathrn * @throws SQLExceptionrn * @throws ClassNotFoundExceptionrn */rnpublic void exeSQLScript(String path) throws SQLException, ClassNotFoundExceptionrnrn //建立数据库连接rn if (this.conn == null || conn.isClosed())rn openConn();rn stmt = this.conn.createStatement();rn //读取文件rn tryrn rn InputStream r = new FileInputStream(path);rn ByteArrayOutputStream byteout = new ByteArrayOutputStream();rn byte tmp[] = new byte[256];rn byte context[];rn int i = 0;rn while ((i = r.read(tmp)) != -1)rn rn byteout.write(tmp);rn rn context = byteout.toByteArray();rn String str = new String(context, "UTF-8");rn // 分隔行rn String stra[] = str.split("\\;");rn for (int n = 0; n < stra.length; n++)rn rn //System.out.println(stra[n]);rn stmt.addBatch(stra[n]);rn rn stmt.executeBatch();rn rn catch (Exception e)rn rn // TODO: handle exceptionrn rnrn我用上面的代码执行SQL脚本rn为什么总报SQL语法错误,如果是一句就可以,多句就不行rn打印stra[n]显示的结果,是跟脚本里一样的rn请各位大哥帮忙看下是不是String stra[] = str.split("\\;");出了什么问题rn
java调用Groovy脚本
一、使用 用 Groovy 的 GroovyClassLoader ,它会动态地加载一个脚本并执行它。GroovyClassLoader是一个Groovy定制的类装载器,负责解析加载Java类中用到的Groovy类。 先创建一个groovy脚本,非常简单,定义一个用于计算的方法,groovy脚本如下: def cal(int a, int b){ return a+b } 在java用调...
JAVA调用SSH脚本
MAVEN pom.xml ch.ethz.ganymed ganymed-ssh2 build210 代码实现 package com.yisa.wifi.zookeeper; import java.io.BufferedReader; import java.io.IOException; import java.
Java调用系统脚本
1.调用系统命令 public static void main(String[] args) throws Exception {         try {             //执行脚本语句             //Process p = Runtime.getRuntime().exec(&quot;nslookup app.xidian.com.cn&quot;);             S...
Java 调用 shell 脚本
public void runShell(String shell){ System.out.println(shell); ProcessBuilder builder=new ProcessBuilder(&quot;/bin/sh&quot;,&quot;-c&quot;,&quot;/tempfile/test.sh&quot;+shell); builder.directory(new File(&quot;...
脚本调用
<p>rn <br />rn</p>rn<p>rn <p>rn 20周年限定一卡通!<span style="color:#337FE5;">可学Java全部课程</span>,仅售799元(原价7016元),<span style="color:#E53333;">还送漫威正版授权机械键盘+CSDN 20周年限量版T恤+智能编程助手!</span>rn </p>rn <p>rn 点此链接购买:rn </p>rn <table>rn <tbody>rn <tr>rn <td>rn <span style="color:#337FE5;"><a href="https://edu.csdn.net/topic/teachercard?utm_source=jsk20xqy" target="_blank">https://edu.csdn.net/topic/teachercard?utm_source=jsk20xqy</a><br />rn</span>rn </td>rn </tr>rn </tbody>rn </table>rn</p>rn<span>&nbsp;</span> rn<p>rn <br />rn</p>rn<p>rn 本阶段详细介绍了大数据所涉及到的Linux、shell、Hadoop、zookeeper、HadoopHA、Hive、Flume、Kafka、Hbase、Sqoop、Oozie等技术的概念、安装配置、架构原理、数据类型定义、数据操作、存储集群等重点知识点。rn</p>
调用脚本.........
在HTML设计器里定义了以下的函数:rn rnrn还在ASPX页面里放了一个WEB按钮,想在单击按钮之后,就执行此脚本函数PrintMe(),请问如何调用???谢了.....
脚本的调用
页面引用了这个两个文件rn rn rnrnrn----A-----------------------rnrnfunction A()rnrn akert("A");rnrnrnrn----A-----------------------rnrnfunction B()rnrn A();rnrnrn111 ———报“缺少对象”rnrnrn--请问-----rnrnB的方法该如何调用A的方法
脚本中调用后台带参函数
脚本中当点击一个 标签时调用后台一个带参数函数,该函数在当前页面(aspx)的后台,比如demo.aspx,那么后台函数就在demo.aspx.cs中(用过VS的都知道吧).而且该函数是非静态的。rn 网上查了很多资料,都没找到解决的方案,rn有的说用JQUERY的$.ajax()调用,但是貌似只能调用静态函数吧rn用<%=function()%> 又不能传递参数,网上说的传参的形式我都试过,不行,参数根本就没传过去。rn纠结啊,弄了几天了都没解决,求大神指教。~~~~ 内牛满面rnrn关键:1.函数在本页面的后台文件CS中rn 2.函数带有一个参数,返回值可以有可无rn[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/8.gif][/img]rn
java调用Linux的命令或者脚本
java调用Linux的命令或者脚本Runtime 类介绍: 每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。应用程序不能创建自己的 Runtime 类实例。 根据其API,通过Runtime重载的几个方法可以来执行其shell命令Process exec(String command)
java 中调用linux shell 脚本出错
请教各位大虾:rnjava.lang.Runtime rt = Runtime.getRuntime();rndb2StrtCmd = tmpFile.getAbsolutePath();//获得shell脚本的绝对路径rnProcess chmod = rt.exec("chmod 777 "+db2StrtCmd);rnProcess startDB = rt.exec(db2StrtCmd);rnrnlinux下执行报错:rn------------------rnfile type: 0rn file id: 0rn length: 187rn offset: 655148rn file name: instructions.txtrnfile type: 5rn file id: 1rn length: 650rn offset: 655335rn file name: Verify.jarrnfile type: 2rn file id: 2rn length: 734rn offset: 655985rn file name: launch.txtrnfile type: 4rn file id: 3rn length: 42590962rn offset: 656719rn file name: ibm_linux_142sr2.binrnfile type: 6rn file id: 4rn length: 2385899rn offset: 43247681rn file name: setup.jarrnExecuting launch script command: "/tmp/isjBWGzRP/bin/java" -cp "":"/tmp/isjJY4ZMz/setup.jar":"" -Dtemp.dir="/tmp" -Dis.jvm.home="/tmp/isjBWGzRP" -Dis.jvm.temp="1" -Dis.media.home="/tmp/isjJY4ZMz/setup.jar" -Dis.launcher.file="/disk1/config/./config" -Dis.jvm.file="/tmp/isjBWGzRP/jvm" -Dis.external.home="/disk1/config/." -Ddweadmin.installed=true run in working directory /disk1/config/.rnOutput from the launch script executionrnStdOut:rnrnErrOut:rnjava.io.IOException: /tmp/startDB2tmp.sh: cannot executern at java.lang.UNIXProcess.forkAndExec(Native Method)rn at java.lang.UNIXProcess.(UNIXProcess.java:157)rn at java.lang.ProcHelper.run(ProcHelper.java:60)rnrn请问是什么原因?
linux第一个脚本
构建基本脚本 在我们学linux系统时一般都会学一点关于linux的一些常用的命令,比如:cd、ls、ps、cat、touch、mkdir、cp等 但是在终端里每次我们只能输入一条命令,它就会直接输出给我们了。而shell脚本的关键在于能输入多个命令并处理每个命令的结果,即使是将一个命令的结果传到另一个命令的输入。 1、创建第一个shell脚本文件 在创建每一个shell脚本文件时的第一句...
怎样禁止超链接调用脚本
我把超链disabled设为true.超链接本身有一个onclick事件,我也想禁止掉.怎么实现?
怎样在Html中调用脚本?
很简单的一个问题,望不要见笑rn这个脚本已保存为一个asp格式的文件。
脚本调用脚本出异常
有一个脚本A,直接运行时OK,但是如果在另一个脚本B中对它进行调用,哪怕脚本B只有一行调用A的代码,运行脚本B时脚本A会报一个异常,这可能是什么原因带来的?如何解决?rnrn错误信息如下:rn./build/envsetup.sh: 2: Syntax error: "(" unexpectedrn
带有入参和出参的存储过程的调用
CREATE OR REPLACE PROCEDURE WEBHALL_OWNER_USER.WB_mobile_active_cust_numberrn(rn in_start_date IN varchar2, --开始时间rn in_end_date IN varchar2, --结束时间rn in_report_item in varchar2, -- 统计标示rn o_report_value out varchar2, --统计项值rn oi_errorFlag OUT number, --1正常 0异常rn os_message OUT varchar2 --error Messagern)rnISrn -- 获得参数 event rn vi_value number :=0;rn vs_error_message varchar(300);rn vi_is_error number:=0; --1正常 0异常rnbeginrn rn -- 执行SQL rn select count(distinct(f_service_id)) rn into vi_value rn from wb_cust_contact_trn where f_contact_result = 1rn and f_event = '14'rn and f_service_kind = '8' rn and f_stat_time>=TO_DATE (in_start_date, 'yyyy-mm-dd hh24:mi:ss')rn and f_stat_time<=TO_DATE (in_end_date, 'yyyy-mm-dd hh24:mi:ss');rn rn o_report_value := to_char(vi_value);rn oi_errorFlag:=1;rn rnexceptionrn when others then rn oi_errorFlag:=0;rn os_message := SUBSTR(SQLERRM,1,200);rn rnEND WB_mobile_active_cust_number;rn/rn好久没有用存储过程了,这个存储过程怎么调用啊?我想看看输出参数是什么。
shell 脚本调用Java类
NULL 博文链接:https://272426068.iteye.com/blog/1188903
Java 调用 shell 脚本详解
这一年的项目中,有大量的场景需要Java 进程调用 Linux的bash shell 脚本实现相关功能。 从之前的项目中拷贝的相关模块和网上的例子来看,有大量的“陷阱”造成调用shell 脚本在某些特殊的场景下,有一些奇奇怪怪的bug。
java调用mysql的存储过程脚本
mysql存储过程脚本rn[code=SQL]drop procedure if exists sp_update_table_field;rndelimiter //rncreate procedure sp_update_table_field()rnbeginrnif not exists(select 1 from information_schema.columns where table_name='WB_Sys_Role' and column_name='Is_Export') then rn ALTER TABLE WB_Sys_Role ADD Is_Export TINYINT NOT NULL default '0'; rnend if;rnend //rn[/code]rnrnjava调用rn[code=Java]package com.css.wbo.server.tool.initial;rnimport java.sql.CallableStatement; rnimport java.sql.Connection; rnimport java.sql.DriverManager; rnimport java.sql.SQLException; rnimport java.sql.Types; rnpublic class test rn String url = "jdbc:mysql://127.0.0.1:3306/userInfo"; rn String userName = "root"; rn String password = "root"; rn public Connection getConnection() rn Connection con=null; rn try rn DriverManager.registerDriver(new com.mysql.jdbc.Driver()); rn con = DriverManager.getConnection(url, this.userName, this.password); rn catch(SQLException sw) rn rn return con; rn rn public void testProc() rn Connection conn = getConnection(); rn CallableStatement stmt = null; rn try rn stmt = conn.prepareCall("call sp_update_table_field");rn stmt.execute(); rn catch(Exception e) rn System.out.println("hahad = "+e.toString()); rn finally rn try rn stmt.close(); rn conn.close(); rn catch (Exception ex) rn System.out.println("ex : "+ ex.getMessage()); rn rn rn rn public static void main(String[] args) rn new test().testProc(); rn rn [/code]rnrn总是提示找不到存储过程方法。rnrn使用下面的方法rn[code=Java]rn java.sql.Statement ps = conn.createStatement();rn String sql = sqlSB.toString();rn ToolLog.getLog().debug(sql);rn ps.execute(sql);rn[/code]rn总是提示delimiter //语法错误rn
asp.net2.0 java脚本调用的问题
在asp.net1.1或html中rn rn这样调用就可以rnasp.net2.0页面中没有显示rnrn求解决办法。
Java调用JavaScript脚本的例子
Java中提供了一个脚本引擎管理器:ScriptEngineManager,它会在虚拟机启动时发现可用的脚本引擎。 脚本引擎管理器 构造一个 ScriptEngineManager,调用它的 getEngineFactories 方法,可用获取到当前Java环境所有支持的引擎工厂,可用通过循环去获取每个引擎工厂的属性。请参考以下代码: public static void main(...
java中调用本地脚本
java中可以调用本地脚本,也可以远程调用shell脚本,但是java调用远程脚本不安全,一般不这么做,那该怎么调用呢? 建议在本地写个脚本调用远程脚本,在java程序中调用本地脚本,具体代码: private int execShell(String shellPath, String... params) { StringBuilder command = new St...
JAVA中调用JavaScript脚本。
本人是做JAVA SE 游戏开发的。 需要用到在JAVA 中调用 javaScript 脚本。 请高手指点。 rnrn本人 高级群 68646529 (闲) 希望搞JAVA 游戏开发的朋友 进去 一起学习 谈论... rnrn
dapper 怎样调用oracle存储过程,有入参和出参
dapper 怎样调用oracle存储过程,有入参和出参rnrn我这边用的方法:rn[code=csharp]DynamicParameters dp = new DynamicParameters();rndp.Add("pid","123");rndp.Add(":id",dbType: DbType.Int64,size:12, direction: ParameterDirection.Output);rndp.Add(":resultCode", dbType: DbType.String,size:1000, direction: ParameterDirection.Output);rndp.Add(":errorMsg", dbType: DbType.String, size: 1000, direction: ParameterDirection.Output);rnvar res = conn.Execute("存储过程名称",param:dp,commandType:CommandType.StoredProcedure);rn[/code]rn总提示这样的错误:rnORA-06550: line 1, column 7:rnPLS-00306: wrong number or types of arguments in call to 'P_OP_CREATE_PATIENT_ARCHIVES'rnORA-06550: line 1, column 7:rnPL/SQL: Statement ignored
c#调用VBS脚本
c#(winform)调用VBS脚本 c#(winform)调用VBS脚本
c#后台调用脚本
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "", "$.dialog({content:'hello world!zzz'});", true);
客户端脚本调用问题
我们知道可以给服务器控件加一个客户端的响应,顺序是线客户端再服务器端,rn现在我需要一个功能,能否先执行服务器端的一个判断,然后再触发客户端的响应,rn不过我不希望使用Response.Write来写一个客户端的代码,因为那样客户端rn界面不能在Response.Write代码完成之前就显示。
用户控件怎么调用脚本
asp.net 自定义控件如何调用jsp脚本(WebUserControl1.ascx)
脚本调用 问题
我在html页中写的脚本为什么有的时候有效有的时候无效啊?
php调用脚本
在php页面中执行脚本aa.shrn[code=php]rnecho "Hello 1";rnsystem('/usr/bin/sudo /root/aa.sh', $status);rnprint_r($status);rnecho "Hello 1";rn[/code]rn结果页面中可以见到“Hello 1”、“1”、“Hello 2”rn但是发现其实脚本没有执行成功rn请教大家是什么原因呢?
急!VB脚本调用!!!
我有2个页面,1个页面为A.ASP,另外个页面为B.asprn在A.asp中有2个VB函数rnsub openrnwindows.open(B.asp)rnend subrnsub re()rnwindows.navigate(A.asp)rnend sunrnrn我通过A.ASP中OPEN函数打开了B页面,现在我想在B页面调用A页面的RE()函数进行对A页面的刷新,并且关闭B页面,在VB脚本函数里如何写??:请高手指教rnSUBrnend sub
php调用外部脚本
我需要用php做一个web页面,通过表单传入2个参数,外加一个本地文件到服务器,rn rnrnrnrnrnrn点击submit提交表单,后台处理上传文件等,然后需要php调用一个外部的python脚本,rn$command = $work_dir . "php_exec.py " . $file_dir . " " . $_FILES['files']['name'] . " " . $p1 . " " . $p2;rnrn[color=#FF0000]passthru[/color]($command, $result);rnecho $result;rn即调用在work_di目录下的php_exec.py脚本,(带有四个参数),感觉没问题,为什么浏览器一直在submit页面,不跳转,也没result值,在后台看了一下,脚本只执行了一段。绝大部分功能都没实现,这是什么原因,菜鸟求各位大神指点。(红色标记的php调用外部命令的函数pssthru换成system和exec结果一样)
脚本调用OCX的问题!
我自己用MFC做的一个OCX控件,在VB和VC中都可以成功调用自定义的方法接口,但是在Vbscript调用控件的方法都报“对象不支持此属性或方法”的错。但是把系统恢复重新注册该OCX就可以了,感觉是OCX注册的问题,rn所以希望请教高手!!!
相关热词 c# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd c# 操作sql视图