ladysosoli 2018-11-14 02:13 采纳率: 100%
浏览 700
已采纳

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");
怎样改动?正常情况下网址可以相加“+”,但是在这个语句中我不知道该怎样修改。

  • 写回答

2条回答 默认 最新

  • ladysosoli 2018-11-15 07:02
    关注

    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);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,