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

报告相同问题?

悬赏问题

  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导