通过网页可以运行Linux服务器上的程序吗?

新手上路,请多包涵

通过浏览器可以运行Linux服务器上基于命令行的应用程序,并把运行结果返回浏览器吗?

具体说来比如服务器上有一个可执行程序,输入输出均为图像,在shell中调用如下:

./ImgProcApp input.jpg output.jpg

其中input.jpg为用户输入,由用户在浏览器中选择,output.jpg为程序ImgProcApp输出,等程序执行完毕在浏览器中显示出来。

ImgProcApp就是一个可以在shell中运行的普通二进制程序,由C++编写,需要在服务器上运行。

请问采用什么技术实现(在Linux服务器上)?

阅读 5.5k
7 个回答

如果是Java,Runtime.getRuntime().exec()了解下
如果是Python,os.popenos.system了解下

根据业务场景,input.jpg为用户上传,因此如果你的ImgProcApp仅支持文件输入的话,你需要将上传文件存储到到指定目录,然后将路径传递。

同理,输出结果存储为文件,然后通过java或python读取文件(或者输出到某目录,当做静态资源由浏览器加载即可)并将其返回给客户端。

如果是php那么用exec方法

首先要弄个tomcat,再开发个最简单的网站布上去,然后和权限作斗争吧

解决问题一般所用的关键技术点楼上几位都说道了,前端拿到数据交给后端接口层,后端接口将其简单处理后,然后去调你的底层程序ImgProcApp 处理,然后接口获取底层处理结果,做一定处理,返回结果给前端展示对应结果...

BTW,sf为什么要把这个提问作为每周精选 给我推送?这讨论的也没多激烈啊。。

@SegmentFault

腾讯云网页 链接服务器就是这么干的呀

现实中,能实现但是很危险,万一执行个删除命令,就哭吧

新手上路,请多包涵

cgi了解一下,只要是可执行程序都可以

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题