LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: potty

如何在程序设计是调用外部命令

[复制链接]
发表于 2003-7-10 08:25:40 | 显示全部楼层
如果是这样,可以去看看lilo的源代码。里面有不少是汇编呕。
发表于 2003-7-10 09:11:47 | 显示全部楼层
建议还是看看内核文件系统的底层函数,那样会更有用!
发表于 2003-7-10 21:14:12 | 显示全部楼层
分析检测简单
但是要能读到分区表

然后看看分区表资料
 楼主| 发表于 2003-7-10 22:36:42 | 显示全部楼层

小弟谢谢几位大人的回复

新的问题
什么样的文件复制方式最好。
用外部命令调用,存在空格问题。遇到有空格的文件名就会无法复制。
用高层流写入,文件太大会写到死,做控制似乎也很难,也许需要很厉害的重载。
用系统调用,据说会在不知名的时候出现问题。

各位大人的意见呢?

进一步,目录的复制要怎样做呢?
发表于 2003-7-11 00:34:22 | 显示全部楼层
是硬盘还是光驱可以用:
cat /proc/ide/hdx/media
看一下,嘿嘿,编程用read读一下。

不过我的可读写光驱和一般光驱好象没什么区别,必须再:
cat /proc/sys/dev/cdrom/info
一下,可以看到Can write CD-R和Can write CD-RW两项。

/proc/partitions有所有的分区,但是没有分区的类型信息,而且FreeBSD的slice里的partition被显示到了最后。
发表于 2003-7-11 01:56:11 | 显示全部楼层
什么样的文件复制方式最好。
用外部命令调用,存在空格问题。遇到有空格的文件名就会无法复制。
用高层流写入,文件太大会写到死,做控制似乎也很难,也许需要很厉害的重载。
用系统调用,据说会在不知名的时候出现问题。

potty 恕我直言,你什么都不相信,怎么工作,难道全靠你一人的编码?在Linux系统里面,你可以很方便的读写硬盘设备(/dev/hda)。如果你是编写 Oracle, DB2 这样规模性能的软件,这样设计很正常。但是如果你只不过打算复制文件,列出目录什么了,不去使用系统调用而想要直接操作硬盘,那就是自找麻烦。
自由狼-台风 该用户已被删除
发表于 2003-7-12 00:24:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
自由狼-台风 该用户已被删除
发表于 2003-7-12 00:32:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2003-7-12 00:32:26 | 显示全部楼层

谢谢几位大哥的恢复

首先:viper大哥,你误会我了。当你想要做一个良好的资源管理起,你就必须对设备进行侦测。尤其是硬盘和光驱。这便是我希望自动侦测的原因。
至于文件的复制,我当然是用系统调用做的,但是我的师傅说系统调用是有时候会有问题。资深系统分析员的话我还是比较相信的。所以才来这边问问各位老大有没有更好的办法。
所以并不时我自找没趣。初学编程,问的问题很幼稚,请各位老大见谅。

另外,老大没有没有fdisk,cp得原码。我只有8的前三张盘,原码不全。那位老大有的,给个ftp小弟下一个。

特此拜上。
发表于 2003-7-12 01:55:47 | 显示全部楼层
“系统调用是有时候会有问题”,你有没有问问他是什么问题?
一般系统调用是不会有什么问题的,有时候是一些特性我们不清楚,所以使用中有一些和预期不相符,这不是问题,掌握了就好了。

关于源码,你用的什么发行版?去官方网站上一般都有下载。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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