求助,关于system()函数
我现在在为公司的一个嵌入式设备编写一个WEB界面,作用是让用户可以通过浏览器来配置公司的设备,例如修改IP地址!
现在遇到一个很麻烦的问题,我用C语言写CGI,但是无法调用我们设备里的命令,我们的设备里嵌入的是一个经过修改的Linux操作系统,封装了一些自己的操作命令。可是我无法通过函数system()或execl等函数调用这些命令,求助大家这是为什么!!!!
我们修改了一些环境变量,会不会和这个有关系呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
浏览器配置机器?开什么玩笑,除非自己写插件,否则哪里还有安全性可言。
可是公司就给我分配的这个任务,我也知道安全隐患很大,不过没有办法。。。先要完成任务呀。
你们的嵌入式系统里实现了这些函数没有?没有怎么调用?
我当然是调用的已经有的命令。现在的问题就是我在CGI里用system()调用系统命令,在浏览器里执行这个程序没有作用,可是在命令行里手工执行却可以实现作用,这是为什么呀?关于命令权限的问题我已经考虑到了,将命令权限调成777并且添加了S权限依旧无法实现。。。
关注,我也想看看这个东东。
我们曾经利用asp调用system函数,执行pascal源程序,如果pascal程序是死循环,我们想设法杀死它,在这个过程中发现:虽然我们调用成功了system,但是他的主进程管理是IIS,我们无法捕获,根本无法处理,感觉上必须先搞懂web服务器是怎么回事,问题有点复杂。你可以这样试试,通过一个中间文件的方式来处理,web修改的东西放到配置文件中,另外写一个服务程序,与web脱离开,然后处理你想要的功能。
强烈关注 此 帖子。。
我和搂住作的 基本是 同样的工作。。
希望有 经验的朋友 来指点呀
不知道是不是路径问题,还有你可以用gdb调试一下,看程序的执行过程,
如果你不太了解gdb可以考虑用图形的如insight/DDD等
还有实在不行,execl来通过shell调
对了,楼主做的是什么设备?路由器?
[ 本帖最后由 showboy 于 2006-9-27 21:48 编辑 ]
这个问题调试好象没法解决.
楼主可以通过strace命令进行跟踪分析