在web界面上实现Linux关机、重启的功能

在web界面上实现Linux关机、重启的功能,第1张

2019-03-15 遇到的一点小问题

公司要给设备增加web管理页面,页面只有关机和重启功能。我一看就一个web加两个按钮,就接下来了,没想到还挺复杂的。

设备使用的 Arch Linux ,小型http服务器选用的 mini_httpd 。

环境搭建好后,就是html和Linux交互。搜索了下,看到这篇 通过CGI实现在Web页面上执行shell命令 ,试了一下,能正常运行。

.cgi文件 不熟的可以参考这几篇文章,博主分了好几篇介绍,就是有点懒,没弄个目录,这里贴一下: 1-编写运行第一个脚本 、 2-Shell变量 、 3-Shell特殊变量 、 4-Shell数组 、 5-shell替换 、 6-与用户交互 、 7-Shell运算符 、 8-shell注释 、 9-shell注释 、 10-printf 、 11-if语句 、 12-case语句 、 13-for语句 、 14-while语句 、 15-until循环 、 16-shell函数 、 17-shell输入输出重定向 、 18-shell文件引用包含 。

编写shell命令,在js里执行就可以了。

测试中遇到的问题就是权限问题,试了 使用setuid更改脚本文件权限 , 使用sudo命令执行 ,发现在 Arch Linux 上都挺麻烦的,先临时把 mini_httpd 的用户权限改高点,下次再试试别的方法。

今天在测试cgi文件时遇到 500 Internal Error 错误 Something unexpected went wrong running a CGI program. 。

这个不难,我说下原理,具体你自己实现。浏览器向web服务器提交要执行的linux命令,服务端调用os.system等系统交互的方法,去执行所提交的命令,然后获取执行后标准输出、标准错误,将这些标准输出、错误以response返回给浏览器。

javaweb吗?,发一个请求到你的servlet中然后调用一下java.awt.Desktop.open(File file)

来打开一个文件,这个文件就是你的程序启动文件即可

或者通过Runtime.exec()来执行shell脚本来启动某个程序


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8688637.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存