QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1124|回复: 6

进程控制问题

[复制链接]
发表于 2006-6-16 13:12:23 | 显示全部楼层 |阅读模式
一个进程运行一个程序,此时收到信号,要求暂停此程序,而去运行另外一个程序,运行完,第一个程序继续运行,试了很多个系统调用函数,都是不行,不知道怎么实现,大家给点意见啊!~
发表于 2006-6-16 16:37:43 | 显示全部楼层
挂起进程,以前好像谁提起过,记不起来了
回复

使用道具 举报

发表于 2006-6-16 16:38:32 | 显示全部楼层
不过好像也不妥,如果一个进程能随便挂起别的进程,系统不乱套了
回复

使用道具 举报

发表于 2006-6-16 22:43:41 | 显示全部楼层

Re: 进程控制问题

[quote:bc2b7d6492="howema"]一个进程运行一个程序,此时收到信号,要求暂停此程序,而去运行另外一个程序,运行完,第一个程序继续运行,试了很多个系统调用函数,都是不行,不知道怎么实现,大家给点意见啊!~[/quote]


父进程的ID是ppid,它运行的第一个进行程序的id是cid1,它运行的第二个程序的id是cid2.

用sigaction()调用设置对父进程收到的信号所需进行的处理,
在处理过程中包括
1.用kill(cid1,SIGSTOP),让第一个进程暂停;
2.运行第二个程序,接着waitpid(cid2),等待它完成,waitpid返回后表示第二个程序运行完了;
3.kill(cid1,SIGCONT),让第一个进程接着运行;
4.信号处理函数返回。
回复

使用道具 举报

发表于 2006-6-16 22:49:24 | 显示全部楼层
还要设置全局量,让sigaction设置的处理函数能访问到子进程号cid1
回复

使用道具 举报

发表于 2006-6-17 11:35:30 | 显示全部楼层

Re: 进程控制问题

[quote:22c3f6ce08="zhaojt"]..
....
.



父进程的ID是ppid,它运行的第一个进行程序的id是cid1,它运行的第二个程序的id是cid2.

用sigaction()调用设置对父进程收到的信号所需进行的处理,
在处理过程中包括
1.用kill(cid1,SIGSTOP),让第一个进程暂停;
2.运行第二个程序,接着waitpid(cid2),等待它完成,waitpid返回后表示第二个程序运行完了;
3.kill(cid1,SIGCONT),让第一个进程接着运行;
4.信号处理函数返回。[/quote]
回复

使用道具 举报

发表于 2006-6-17 21:23:23 | 显示全部楼层

Re: 进程控制问题

[quote:ffd7d8e31f="howema"]一个进程运行一个程序,此时收到信号,要求暂停此程序,而去运行另外一个程序,运行完,第一个程序继续运行,试了很多个系统调用函数,都是不行,不知道怎么实现,大家给点意见啊!~[/quote]

题目意思搞错了,我以为“一个进程运行一个程序”的意思是一个进程产生一个子进程,我现在觉得这句话就是运行着的程序这一个进程。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 12:24 , Processed in 0.039810 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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