一只池鱼
2018-11-20 01:51
采纳率: 33.3%
浏览 1.8k
已采纳

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的换行符问题

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题