一只池鱼 2018-11-20 01:51 采纳率: 0%
浏览 1843
已采纳

Runtime.getRuntime().exec检测进程是否存在无法打印出具体信息怎么办

String[] cmd = {"/bin/sh", "-c", "ps -ef |grep " + s };//s是参数,进程名
Process proc = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
if ((line = br.readLine()) == null) {
XxlJobLogger.log("执行出错");
log.info("执行出错");
return new ReturnT<>(ReturnT.FAIL_CODE,"执行出错");
} else {
int count=0;
do {
XxlJobLogger.log(s + ":" + line);
count++;
} while ((line = br.readLine()) != null);
}
br.close();

在linux上同样的命令会打印出进程的具体信息包括pid,command等,但该程序执行后只能打印出个数,请问是哪里错了吗,该怎么写

  • 写回答

1条回答 默认 最新

  • 一只池鱼 2018-11-20 06:02
    关注

    已解决,脚本问题以及linux、window的换行符问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大