免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6013 | 回复: 9
打印 上一主题 下一主题

[学习分享] 求助 怎样将web页面上写好的linux命令送入linux系统执行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-19 15:40 |只看该作者 |倒序浏览
RT RT 怎样将web页面上写好的linux命令送入linux系统执行 就是将命令行输入改为web页面输入

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2012-11-19 17:02 |只看该作者
没做过,这个应该是cgi程序的工作吧

论坛徽章:
21
白羊座
日期:2013-08-23 15:49:17金牛座
日期:2013-10-08 17:00:03处女座
日期:2013-10-12 11:54:11CU十二周年纪念徽章
日期:2013-10-24 15:41:34午马
日期:2013-11-27 14:07:21巨蟹座
日期:2013-12-04 10:56:03水瓶座
日期:2013-12-04 15:58:00亥猪
日期:2014-05-24 16:02:3115-16赛季CBA联赛之辽宁
日期:2016-11-07 13:52:53戌狗
日期:2013-08-23 16:15:31白羊座
日期:2013-08-24 21:59:24巨蟹座
日期:2013-08-25 16:34:24
3 [报告]
发表于 2012-11-19 17:05 |只看该作者
没做过,那得开发一套程序。

论坛徽章:
0
4 [报告]
发表于 2012-11-19 17:20 |只看该作者
本帖最后由 darrenlee3 于 2012-11-19 17:20 编辑

哪个组件处理http请求,就让这个组件执行脚本 (servlet?cgi?php?...)

没server的话,用netcat写个循环bash脚本处理GET/POST

论坛徽章:
0
5 [报告]
发表于 2012-11-19 21:58 |只看该作者
回复 4# darrenlee3


   java的Runtime.getRuntime().exec("ipconfig")能不通过控制台直接在就能在JVM上跑出结果
如果把eclipse安在ubuntu下跑ifconfig的话行不

论坛徽章:
0
6 [报告]
发表于 2012-11-20 09:24 |只看该作者
siberfei 发表于 2012-11-19 21:58
回复 4# darrenlee3


我刚才试了一下,jvm拦截了所有stdout/stderr
.exec()返回了Process对象,从中得到inpustream,另启线程输出即可
这时我刚才测试的代码:
  1. /**
  2. *
  3. */
  4. package darrenlee.test.cu;

  5. import java.io.BufferedReader;
  6. import java.io.IOException;
  7. import java.io.InputStream;
  8. import java.io.InputStreamReader;

  9. /**
  10. * @author darrenlee
  11. *
  12. */
  13. public class Command implements Runnable {

  14.         private InputStream in;

  15.         public Command(InputStream in) {
  16.                 this.in = in;
  17.         }

  18.         /**
  19.          * @param args
  20.          */
  21.         public static void main(String[] args) {
  22.                 try {
  23.                         Process p = Runtime.getRuntime().exec("ping -c 10 127.0.0.1");
  24.                         //Process p = Runtime.getRuntime().exec("ifconfig");
  25.                         InputStream in = p.getInputStream();
  26.                         Command r = new Command(in);
  27.                         new Thread(r).start();
  28.                 } catch (IOException e) {
  29.                         e.printStackTrace();
  30.                 }
  31.         }

  32.         @Override
  33.         public void run() {
  34.                 BufferedReader bufferedReader = new BufferedReader(
  35.                                 new InputStreamReader(in));
  36.                 try {
  37.                         String line = bufferedReader.readLine();
  38.                         while (line != null) {
  39.                                 System.out.println(line);
  40.                                 line = bufferedReader.readLine();
  41.                         }
  42.                         bufferedReader.close();
  43.                 } catch (Exception e) {
  44.                         e.printStackTrace();
  45.                 }
  46.         }

  47. }
复制代码

论坛徽章:
0
7 [报告]
发表于 2012-11-20 14:02 |只看该作者
回复 6# darrenlee3
sdtout/stderr是什么意思

   

论坛徽章:
0
8 [报告]
发表于 2012-11-20 14:10 |只看该作者
回复 7# siberfei


标准数据输出,错误输出
相当于java里的 system.out system.err

论坛徽章:
1
CU大牛徽章
日期:2013-03-14 14:08:55
9 [报告]
发表于 2012-11-20 14:50 |只看该作者
不安全,为什么要这么做,ssh完全可以实现这个功能

论坛徽章:
0
10 [报告]
发表于 2012-11-21 08:36 |只看该作者
回复 6# darrenlee3
     这个函数不能执行 CD命令啊 怎么回事
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP