无法从jsp网页运行unix代码

时间:2013-05-28 10:54:31

标签: linux jsp unix

在jsp页面中运行unix代码时出现问题,我的jsp代码如下所示。

<%@page language="java" %>

<%@page import="java.util.*" %>

<html>

<head>

<%
    String unixCommand = "/bin/bash -lc \"/home/chandu/test/./check.sh xxxxxx\"";

     Runtime rt = Runtime.getRuntime();

     rt.exec(unixCommand);
    System.out.println("Print Test Line.");

%>

</head>

<body>

</body>

</html>

Unix代码在

之下

!/ bin / bash -l <​​/ h1>

cd / home / chandu / test / for cat nodelist 做 java -cp / home / chandu / test jcmd“$ i”ZMIO:MSISDN = $ 1:&gt; “$ I” .LOG DONE vlradd = grep MSC-ADDRESS *.log | awk '{print $4}' MSS = grep $vlradd mss | awk '{print $1}' java -cp / home / chandu / test jcmd“$ mss”ZMVO:MSISDN = $ 1:| egrep“IMSI的位置区域代码|最后使用的CELL ID”| cut -d“/” - f2&gt;产量 LAC = head -1 output | tail -1 CELLID = head -2 output | tail -1 echo $ lac $ cellid 您在/ var / mail / root

中有新邮件

1 个答案:

答案 0 :(得分:0)

你需要

  1. 从Unix进程中收集标准输出/错误并写入您的JSP。
  2. 使用Process.waitFor()等待进程存在并收集返回码。否则你将拥有zombie process
  3. 您需要读取Process返回的rt.exec()对象提供的流来捕获输出。有关详细信息,请参阅this SO answer