Chinaunix
标题:
在一个进程中执行另一个进程后立刻返回,不等待新进程退出后返回,怎么做?
[打印本页]
作者:
新用户_请注册
时间:
2015-06-18 16:30
标题:
在一个进程中执行另一个进程后立刻返回,不等待新进程退出后返回,怎么做?
在一个进程中执行另一个进程后立刻返回,不等待新进程退出后返回,怎么做?
比如在/test目录下有a和b两个可执行程序:
/test/a
/test/b
在a程序中调用system函数执行b程序,如下:
system("/test/b");
运行后是成功执行b进程了,但是发现要等b进程退出后,system才返回。
如果想让执行b后立刻返回执行b是否成功的结果,而不是等待b进程退出后才返回,应该怎么做?使用哪个函数?
作者:
remark
时间:
2015-06-18 17:04
fork() + exec()
作者:
gotojyh
时间:
2015-06-18 17:36
在a程序里加
pid_t id=fork();
if(id==0)
{
system("/test/b");
}
复制代码
作者:
tansijie
时间:
2015-06-19 10:46
本帖最后由 tansijie 于 2015-06-19 10:47 编辑
pid_t pid = fork();
if(pid == 0 )
{
// exec system call
system("b");
}else // fathur process
{
// do fathur job
}
复制代码
作者:
yulihua49
时间:
2015-06-19 15:12
新用户_请注册 发表于 2015-06-18 16:30
在一个进程中执行另一个进程后立刻返回,不等待新进程退出后返回,怎么做?
比如在/test目录下有a和b两个 ...
system("/test/b &");
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2