社区
Linux/Unix社区
帖子详情
如何在C程序中启动另一个进程?
梦断酒醒
2010-10-15 09:56:34
如何在C程序中启动另一个进程?该进程启动后期望是一个独立的进程,当前进程不需要管理也不需要关心这个进程。
实际上,我是期望在一个程序中启动另一个程序,启动后,两者成为互不相关的程序。
...全文
851
7
打赏
收藏
如何在C程序中启动另一个进程?
如何在C程序中启动另一个进程?该进程启动后期望是一个独立的进程,当前进程不需要管理也不需要关心这个进程。 实际上,我是期望在一个程序中启动另一个程序,启动后,两者成为互不相关的程序。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
louyong0571
2010-10-15
打赏
举报
回复
就用system或者exec族的函数调用一下吧
pottichu
2010-10-15
打赏
举报
回复
system, popen, fork+exec
沭水河畔
2010-10-15
打赏
举报
回复
system或者exec函數可不可以?
gohome520
2010-10-15
打赏
举报
回复
[Quote=引用 3 楼 louyong0571 的回复:]
就用system或者exec族的函数调用一下吧
[/Quote]
嗯,需要注意的是system()是需要返回结果的,也就是父进程会一直阻塞,直到子进程结束。
当然,可以在system()参数的最后,加个&,以让子进程后台运行。
cskai
2010-10-15
打赏
举报
回复
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/stat.h>
#include<sys/wait.h>
#include<sys/types.h>
int main()
{
pid_t childpid;
int status;
if((childpid=fork())==-1) //fork( )命令
{
perror("fork:");
}
else if(childpid==0) // This is child process!
{
char *args[]={"/home/sk/code/GNU/pripds",NULL};
puts("in child:\n");
if(execve("pripds",args,NULL)==-1) // pripds 是我自己的一个程序。。
{
perror("execve:");
}
exit(EXIT_SUCCESS);
}
else //This is parent process!
{
waitpid(childpid,&status,0); //这里也可以用非阻塞wait,这样两个进程就不会相干扰了
puts("in parent:\n");
printf("\tparent pid=%d\n",getpid());
}
}
看看是否有用。。^^
justkk
2010-10-15
打赏
举报
回复
system调用时,把被调用进程放入后台执行
或者自己fork exec,然后把子进程放入一个单独的会话
jihen
2010-10-15
打赏
举报
回复
先fork,然后再用exec调用下就好了。个人感觉是这样,具体你可以试试
RK3399 Android系统10.0 init
进程
启动
6, init.rc脚本 Android定义的一种脚本, 改脚本是有init
进程
启动
, 是非常重要的
一个
脚本, 会包含系统
中
的其他很多脚本, 在我们系统开发时, 我们经常通过这个脚本进行一些定制化动作。 7, init
进程
代码分析 ...
linux c语言
启动
其他
程序
运行,如何在C
程序
中
启动
可执行文件并获取其
进程
ID(在linux
中
)?...
在父
进程
中
,您想要fork.Fork创建
一个
全新的
进程
,并将子
进程
的pid返回给调用
进程
,将0返回给新的子
进程
.在子
进程
中
,您可以使用类似execl的内容来执行所需的辅助
程序
.在父
进程
中
,您可以使用waitpid等待子
进程
完成.这是...
什么是
进程
? 为什么使用
进程
? 如何运用
进程
?
进程
是指在系统
中
正在运行的
一个
应用
程序
,
程序
一旦运行就是
进程
。 b.
进程
是系统进行资源分配的独立实体, 且每个
进程
拥有独立的地址空间。 二丶为什么引进
进程
?
进程
可以解决在
一个
系统可以并发执行多个任务 三丶...
怎样在
一个
C
程序
中
调用另
一个
程序
(独立可执行的
程序
, 或系统命令)?
怎样在
一个
C
程序
中
调用另
一个
程序
(独立可执行的
程序
, 或系统命令)? 使用库函数system(), 它的功能正是你所要的。注意, 系统返回的值最多是命令的退出状态值(但这并不是一定的), 通常和命令的输出无关。还要注意,...
linux c
启动
外部
进程
,c –
启动
和观看另
一个
进程
的Linux最佳实践
在我的过程
中
,我需要
启动
/重新
启动
另
一个
进程
.目前我使用
一个
小堆栈大小的线程和以下代码:void startAndMonitorA(){while(true){system("myProcess");LOG("myProcess crashed");usleep(1000 * 1000);}}我觉得这不是...
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章