设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
请问在shell提示符下执行脚本程序, 和在C程序中调用syst ...
返回列表
查看:
1478
|
回复:
2
请问在shell提示符下执行脚本程序, 和在C程序中调用system()执行脚本程序有什么不同
[复制链接]
xiachongbaogc
xiachongbaogc
当前离线
积分
227
IP卡
狗仔卡
发表于 2009-9-10 16:48:16
|
显示全部楼层
|
阅读模式
请问在shell提示符下执行脚本程序, 和在C程序中调用system()执行脚本程序有什么不同.
因为我的系统没有虚拟内存,在C程序中通过system()来执行脚本,系统会告知空间不够, 但在 shell提示符下执行脚本程序确是正常的.为什么?
是不是因为脚本程序是解释性程序, 每执行一条命令后,就释放空间.
而在system() 通过gcc 编译后脚本程序就不再是解释性程序?
请指教.. 谢谢
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
tomgrean
tomgrean
当前离线
积分
130
IP卡
狗仔卡
发表于 2009-9-11 13:24:11
|
显示全部楼层
“脚本程序”就是脚本,不管是用脚本(shell)来调用,还是用编译的程序(C语言)来调用。
“空间不够”可能依赖于C语言本身编译后使用多大的堆和栈空间。
回复
支持
反对
使用道具
举报
显身卡
Jockey
Jockey
当前离线
积分
2694
IP卡
狗仔卡
发表于 2009-9-11 21:14:51
|
显示全部楼层
system()
会把参数指向的字符串传给
sh(1)
解释,不巧
sh(1)
又会fork一个子shell执行该脚本。
你可以数数,你用来执行该C程序所在的shell,它fork了几个子进程...
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表