鍍金池/ 問答/Java  Python  Linux  HTML/ 通過網(wǎng)頁可以運行Linux服務器上的程序嗎?

通過網(wǎng)頁可以運行Linux服務器上的程序嗎?

通過瀏覽器可以運行Linux服務器上基于命令行的應用程序,并把運行結(jié)果返回瀏覽器嗎?

具體說來比如服務器上有一個可執(zhí)行程序,輸入輸出均為圖像,在shell中調(diào)用如下:

./ImgProcApp input.jpg output.jpg

其中input.jpg為用戶輸入,由用戶在瀏覽器中選擇,output.jpg為程序ImgProcApp輸出,等程序執(zhí)行完畢在瀏覽器中顯示出來。

ImgProcApp就是一個可以在shell中運行的普通二進制程序,由C++編寫,需要在服務器上運行。

請問采用什么技術(shù)實現(xiàn)(在Linux服務器上)?

回答
編輯回答
眼雜

cgi了解一下,只要是可執(zhí)行程序都可以

2018年9月13日 23:38
編輯回答
夢囈

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

根據(jù)業(yè)務場景,input.jpg為用戶上傳,因此如果你的ImgProcApp僅支持文件輸入的話,你需要將上傳文件存儲到到指定目錄,然后將路徑傳遞。

同理,輸出結(jié)果存儲為文件,然后通過java或python讀取文件(或者輸出到某目錄,當做靜態(tài)資源由瀏覽器加載即可)并將其返回給客戶端。

2017年9月18日 09:30
編輯回答
小曖昧

如果是php那么用exec方法

2018年7月12日 01:24
編輯回答
網(wǎng)妓

現(xiàn)實中,能實現(xiàn)但是很危險,萬一執(zhí)行個刪除命令,就哭吧

2018年1月29日 01:24
編輯回答
巴扎嘿

騰訊云網(wǎng)頁 鏈接服務器就是這么干的呀

2017年5月19日 08:14
編輯回答
尕筱澄

解決問題一般所用的關鍵技術(shù)點樓上幾位都說道了,前端拿到數(shù)據(jù)交給后端接口層,后端接口將其簡單處理后,然后去調(diào)你的底層程序ImgProcApp 處理,然后接口獲取底層處理結(jié)果,做一定處理,返回結(jié)果給前端展示對應結(jié)果...

BTW,sf為什么要把這個提問作為每周精選 給我推送?這討論的也沒多激烈啊。。

@SegmentFault

2017年12月22日 02:35
編輯回答
黑與白

首先要弄個tomcat,再開發(fā)個最簡單的網(wǎng)站布上去,然后和權(quán)限作斗爭吧

2017年6月25日 07:23