在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代码在
之下 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
答案 0 :(得分:0)
你需要
Process.waitFor()
等待进程存在并收集返回码。否则你将拥有zombie process。您需要读取Process
返回的rt.exec()
对象提供的流来捕获输出。有关详细信息,请参阅this SO answer。