注册
登录
搜索
帮助
中国Linux公社论坛
»
应用编程技术与项目孵化
» 如何在execl()函数中使程序后台执行?
‹‹ 上一主题
|
下一主题 ››
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
如何在execl()函数中使程序后台执行?
mananaddd
新手上路
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2006-9-29 13:02
只看该作者
如何在execl()函数中使程序后台执行?
比如我想执行
pppd /dev/ttyS1 &
让pppd后台执行,省得打印那些乱码
在程序中采用execl()函数调用pppd
execl("/bin/pppd","pppd","/dev/ttyS1","&",(char *)0);
运行的时候提示&不是合法的选项
我想请问如果想让pppd后台执行,如果采用程序中调用execl()函数的方法如何实现?(关键是那个&怎么加?)
UID
205831
帖子
29
精华
0
积分
73
阅读权限
10
在线时间
0 小时
注册时间
2005-11-20
最后登录
2007-1-27
查看详细资料
TOP
mozilla
公社特别嘉宾
发短消息
加为好友
当前离线
2
#
大
中
小
发表于 2006-9-29 13:12
只看该作者
你搜索一下fork2
UID
315
帖子
7269
精华
7
积分
17884
阅读权限
120
来自
China
在线时间
12 小时
注册时间
2002-7-1
最后登录
2008-11-21
查看详细资料
TOP
snnn
新手上路
发短消息
加为好友
当前离线
3
#
大
中
小
发表于 2006-10-24 12:01
只看该作者
哎。。。。
fork和exec连用就可以了
UID
228752
帖子
31
精华
0
积分
78
阅读权限
10
在线时间
0 小时
注册时间
2006-10-24
最后登录
2006-11-20
查看详细资料
TOP
nuklear
新手上路
发短消息
加为好友
当前离线
4
#
大
中
小
发表于 2006-10-24 14:01
只看该作者
& 是给shell 看的。
那样用是作为一个parameter传递给那个叫pppd的程序的。
你可以理解为在shell里打:
pppd "/dev/ttyS1" "&"
另外,如果你想主程序还继续运行,就必须要fork()出一个
进程的。因为exec会把调用它的那个进程的所有的数据,包括
address space, pc counter, stack等等都消掉换成exec调用的
那个程序的。然后就被完全替换掉了。
fork()刚好相反,它会把调用他的那个进程的所有信息都clone
出来,然后完全独立的在内存里占有自己的address space。
所以你就
if ( ! fork() ) {
//child
//call exec
exec(xxxxxxx);
printf( "no way to reach here" );
}
//parent
//do something
UID
227189
帖子
1
精华
0
积分
3
阅读权限
10
在线时间
0 小时
注册时间
2006-10-5
最后登录
2006-10-25
查看详细资料
TOP
snnn
新手上路
发短消息
加为好友
当前离线
5
#
大
中
小
发表于 2006-10-24 18:36
只看该作者
换句话说,
system函数会调用shell,而exec不会。
UID
228752
帖子
31
精华
0
积分
78
阅读权限
10
在线时间
0 小时
注册时间
2006-10-24
最后登录
2006-11-20
查看详细资料
TOP
‹‹ 上一主题
|
下一主题 ››
版块跳转
社区公告专栏:最新通知和公告
公告区
基础技术支持专栏:
系统安装
硬件配置
Magic Linux专版:
Magic Linux技术支持区
Magic Linux开发培训版
一般应用技巧专栏:
中文化与桌面美化
桌面使用小技巧
命令行使用小技巧与SHELL编程
应用解决方案专栏:
网络工具
办公软件
多媒体应用
游戏乐园
服务器与网络安全
Linux资源共享区
高级技术学习专栏:
Debian/LFS/Gentoo专题版
Linux高质量字体研究
easyright计算机研究所
Linux认证考试专题版
社区开源项目专栏
应用编程技术与项目孵化
网站开发技术与项目孵化
参与国际开源项目
翻译汉化
中文GNOME用户交流区
Skyeye项目专栏
lumit项目专栏
eva项目专栏
fanx项目专栏
连连看for Linux项目专栏
OurLinux杂志专区
BitStorm项目专栏
RT-Thread实时操作系统
EGui开源项目
AVS项目专栏
VirgoFTP项目专栏
Linux内核研读区:公社内核阅读小组
内核源代码阅读交流
内核安装和升级
嵌入式开发
社区文化活动专栏:我们是一家人!
校园行动联盟
Linux与公社文化杂谈
求职与招聘
请进公社总部:
公社接待中心
控制面板首页
编辑个人资料
积分交易
积分记录
公众用户组
访问推广
基本概况
版块排行
主题排行
发帖排行
积分排行
交易排行
在线时间
管理团队
管理统计