鱼摸摸 2024-04-02 16:18 采纳率: 0%
浏览 9

java执行shell命令,Runtime.exec()和jsch谁更有优势?

java在linux平台,执行本机命令,众所周知都是使用Runtime.getRuntime().exec(command)获取一个Process类
但是都说这种方式各种坑,什么资源消耗大,频繁创建销毁代价大,缓冲区被打满导致死锁什么的
这里不考虑缓冲区死锁问题(因为有解决方案),就想知道这种方式开销有多大,shell频繁场景适用什么技术实现

有场景如下:有50个shell命令(只是目前水平,后续会更多),java需要定时执行shell,获取结果后解析入库。每个命令的定时时间从1分钟到30分钟不等,这样的场景下Runtime.getRuntime().exec还能用吗,有没有更好的选择?

目前有一种方式,同事因为怕搞不定Runtime.getRuntime().exec的坑,使用jsch封装的方法实现的。
我们都知道jsch是成熟的ssh方案,就是远程执行shell命令,同事在这里直接ssh了自己(本机),然后用jsch做的这个场景。
那么如果用jsch以ssh的方式执行本机命令(ssh自己)的开销又如何呢?

  • 写回答

3条回答 默认 最新

  • Kwan的解忧杂货铺 Java领域优质创作者 2024-04-02 16:18
    关注

    下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    🤔: java执行shell命令,Runtime.exec()和jsch谁更有优势?
    大模型正在努力处理问题中⏳⏳⏳,请稍后

    评论

报告相同问题?

问题事件

  • 修改了问题 4月2日
  • 创建了问题 4月2日

悬赏问题

  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line