jsp如何调用linux shell

     经常碰到运营部门人要清缓存,而缓存一直存在问题,老在电脑面前处理也不是个办法,想了个方法,通过访问一个jsp页面自动清缓存 
 

<%@ page language="java" import="java.io.*" pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

 

 

%>

<html>

<head>

<title>shell</title>

</head>

<body>

<%

String cmds = "monitor.sh";

try {

 

Process process;

process = Runtime.getRuntime().exec("sh /opt/wzx/monitor.sh");

InputStreamReader ir = new InputStreamReader(process

.getInputStream());

LineNumberReader input = new LineNumberReader(ir);

String line;

process.waitFor();

while ((line = input.readLine()) != null){

out.print(line);

out.print("<br/>");

}

if(input!=null){

input.close();

}

 

} catch (Exception e) {

e.printStackTrace();

}

 

%>

 

</body>

</html>

 

test.sh 脚本内容

echo 'flush_all' | nc 192.168.10.73 11211

将该脚本放到jboss/server/default/deploy/jboss-web.deployer/ROOT.war/ 下就可以访问了

 

时间: 2025-01-18 21:24:11

jsp如何调用linux shell的相关文章

Java调用linux shell脚本的方法_java

首先,我们需要增加用户对该脚本的执行权限,即 复制代码 代码如下:  String cmdstring = "chmod a+x test.sh";  Process proc = Runtime.getRuntime().exec(cmdstring);  proc.waitFor(); //阻塞,直到上述命令执行完  cmdstring = "bash test.sh"; //这里也可以是ksh等  proc = Runtime.getRuntime().exe

java调用本地shell文件,操作linux

问题描述 java调用本地shell文件,操作linux 怎么用java程序调用本地的shell文件去操作linux中的文件. 解决方案 Process process = Runtime.getRuntime().exec( ".//p.exe "); 解决方案二: Process process = Runtime.getRuntime().exec( " ");

Linux Shell 编程实战技巧

避免定时任务脚本的常见问题 很多脚本在实际使用的时候往往是以定时任务的方式运行,而非手工运行.但是实现同样功能的脚本在这两种运行方式下可能遇到的问题不尽相同. 以定时任务方式运行的脚本往往会遇到以下几个问题. 路径问题:当前目录往往不是脚本文件所在目录.因此,脚本在引用其使用的外部文件,如配置文件和其它脚本文件时,无法方便得使用相对路径. 命令找不到问题:脚本中使用到的一些外部命令,在手工执行脚本的时候可以正常调用.但是在定时任务下运行则可能出现脚本解析器找不到相关命令的问题. 脚本重复运行问题

Linux Shell脚本系列教程(二):终端打印命令详解

  这篇文章主要介绍了Linux Shell脚本系列教程(二):终端打印命令详解,本文着重讲解了echo终端打印.printf终端打印两个打印出输出命令,需要的朋友可以参考下 终端打印 终端是交互式工具,用户可以通过它与shell环境进行交互.在终端中打印文本是大多数shell脚本和工具日常需要执行的基本任务.通过终端打印,人们可以知道系统的运行状态,这对用户来说是至关重要的. echo终端打印 代码如下: echo "Welcome to Bash" echo 'Welcome to

Linux Shell的锁:flock

Linux Shell的锁:flock 在写分布式系统的时候,需要同步进程之间的调用顺序.我的需求是,多个进程同时要在一个maven工程中编译打包接口.通过new一个Process去跑一个Shell脚本,Shell脚本会将接口源代码拷贝到Maven工程,运行打包命令并将打包好的Jar包移动到对应进程的Classpath下. 当然也可以通过为每个进程拷贝一份maven打包工程,来绕过这个同步问题.这个不在讨论范围内. Flock flock有几种使用方式,有兴趣的可以自己取查一下.我这里需要在脚本

linux shell 脚本问题

问题描述 linux shell 脚本问题 xargs -n1 与 xargs -i {}用法有什么不同,不是都是传递一个参数个指令吗? 例:ls | xargs -n1 rm -rf 与 ls | xargs -i rm -rf{} 有什么区别 解决方案 当括号中没有任何内容的时候,括号可以省略.如果你希望匹配某些模式,可以在里面写. 解决方案二: http://blog.csdn.net/tttyd/article/details/11742241 解决方案三: -n1 是把多个结果拆成一个

思维导图学 Linux Shell攻略之小试牛刀篇

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dba10g.blog.51cto.com/764602/1607563 曾听一位大神讲过,带着目的去学,知识往往能记得牢,记得稳.借助思维导图这个工具,对一些我感兴趣的知识点进行分类管理.以后方便自己复习. 我会以思维导图+代码段的方式,回滚学习linux shell编程. 转义/色彩 与用户交互的接口 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1

常用 Linux shell &amp; vim 命令

以下是我在工作中常用的 Linux shell 命令,记下来,后续会不断补充. 查看正在执行的进程 ps -u username 查询指定的进程ID(27380)打开的文件 lsof -p 27380 杀死指定PID的进程 (PID为Process ID) kill PID 计算文件的行数.字数或字符数 wc 显示进程信息,并实时更新 top 调用top命令的"-H"选项,该选项会列出所有Linux线程 top -H 查看用户username的进程所打开的文件 lsof -u user

linux shell脚本问题,关于自动修改系统密码

问题描述 linux shell脚本问题,关于自动修改系统密码 操作系统 radhat 就是多个服务器每天就要进行一次密码修改,所以在想能不能用shell写一个命令脚本,然后放在一台服务器上面,等到需要修改密码的时候,就修改脚本里面的日期参数进行跑脚本修改,求大神帮助,新手,也可沾些代码我学习一下,不适合的地方,我自己改改. 解决方案 用crontabhttp://www.cnblogs.com/kaituorensheng/p/4494321.htmlhttp://os.51cto.com/a