LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: johnhhj

这个要怎么实现?谢谢

[复制链接]
发表于 2004-7-26 15:54:11 | 显示全部楼层
楼主是什么目的好像没说清楚
发表于 2004-7-26 15:55:20 | 显示全部楼层
况且命令都需要参数,既然你不知道命令名,那就当然不知道它的参数拉,那你不带参数地运行它又有什么意义呢?此第三处矛盾。

相信楼主的目的并不在此,或许这是楼主要完成的任务的其中一项而已。

楼主还是详细道来吧。
 楼主| 发表于 2004-7-26 17:13:51 | 显示全部楼层
这样,当运行make, 就会生成名为command_name的程序并执行  是不是这个意思?



就是这个意思?
 楼主| 发表于 2004-7-26 17:16:49 | 显示全部楼层
当然,用testsuite来测试软件的编译质量(make test)就是在install前  执行软件,但那是另外一回事。


版主,我就是想做类似测试软件.不过功能会很少哦!
只是毕业设计而已.
 楼主| 发表于 2004-7-26 17:20:46 | 显示全部楼层
况且命令都需要参数,既然你不知道命令名,那就当然不知道它的参数拉,那你不带参数地运行它又有什么意义呢?


参数的问题很好解决的,
这个shell只是嵌入到主程序的,只是主程序的一个button的内容
发表于 2004-7-26 18:31:28 | 显示全部楼层
果如此,岂不早说。

但要知道,testsuite是针对特定的软件的,也就是说,每个软件自身的Makefile带的test段都只能适应自身而已,非通用,这样,不具备通用性的测试软件是无意义的。

执行一个软件,不是直接运行它的可执行文件这么简单,还要有环境以及共享库。你说的通用测试功能最好能用虚拟机来实现。其实内核2.6.x提供了虚拟Linux的特色功能,可以参详。

---摘自ibm的文章
Linux 2.6一个很有趣的特点是自包含了一个"用户态(user-mode)"的体系结构。它本质上是一种移植--将Linux移植到它自身(正如移植到不同的硬件体系那样),从而允许一个完全虚拟的Linux-on-Linux运行环境。新的Linux实例像普通应用程序一样运行。在这个新的Linux内部,你可以配置伪网络、文件系统或者其他一些设备,整个过程通过专用的驱动程序与宿主Linux进行安全交互。这被证明不仅是在开发方面(进行分析、统计等),而且在安全分析和密罐(honeypots)技术中都是非常有用的。当然大多数用户还不需要这样的支持,它只是被当作了一个可以运行在你的机器上的很酷的特性而已。(给你的朋友留下深刻的印象!)


如果要简单地来做,仿效普通软件在testsuite上的做法(没多大实际意义,它们不是通用的),可以创建一个新shell来执行生成命令,改变该shell的环境变量如PATH,把该路径动态加入ld.conf文件并update共享库缓冲,另外一个办法就是仿效lfs,创建一个最小的根文件系统,chroot来运行软件。但要注意,即使这两类方法,前提也要你熟悉这个被测试的软件才行。

在bash领域,进程间数据的传递很容易就可以实现(管道),但你所说的不在于技术问题,而在于你的定位点是否合适的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表