linux进程线程管理实验报告(3)
时间:2025-07-09
时间:2025-07-09
进程线程,死锁实验报告
#include<signal.h>
#include<ctype.h>
#define MAX_CHILD_NUMBER 10/* 允许建立的子进程个数最大值 */ #define SLEEP_INTERVAL 1/* 子进程睡眠时间 */
int proc_number=0; /* 子进程的编号,从0开始 */
void do_something();
int main(int argc,char *argv[])
{
int child_proc_number=MAX_CHILD_NUMBER; /* 子进程个数 */ int i,ch;
pid_t child_pid;
pid_t pid[10]={0};/* 存放每个子进程的id */
if(argc>1){
child_proc_number=atoi(argv[1]);
child_proc_number=(child_proc_number>10)?10:child_proc_number; /* 命令行参数中的第一个参数表示建立几个子进程,最多10个 */
}
/*建立child_proc_number个子进程
* 子进程要执行
* proc_number = i;
* do_something();
* 父进程把子进程的id保存到pid[i] */
for(i=0;i<child_proc_number;i++){
child_pid=fork();
if(child_pid== -1){
perror("creat error!\n");
return 1;
}
else if(child_pid>0)
pid[i]=child_pid;
else{
proc_number=i;
do_something();
} }
/* 让用户选择杀死哪个进程。输入数字(自编号)表示杀死该进程
* 输入q退出 */
上一篇:数学教案第一周