#include<stdio.h>
#include<string.h>
#include<unistd.h>
#include<sys/types.h>
#include<stdlib.h>
#include<wait.h>
void func(void* arg)
{
char* str=(char*)arg;
printf("%s\n",str);
}
void progress_created(pid_t* pid,void func(void*),void* arg)
{
int status;
* pid=fork();
switch(*pid)
{
case -1:
perror("fork");
exit(EXIT_FAILURE);
break;
case 0:
func(arg);
sleep(1);
perror("func");
exit(EXIT_FAILURE);
break;
default:
{
int status;
pid_t ret=wait(&status);
if(ret==-1)
{
perror("wait");
exit(EXIT_FAILURE);
}
else
{
printf("子进程id= %d,子进程被 %d号信号杀死\n",ret,status);
}
break;
}
}
}
int main()
{
pid_t pid;
char *str1="i am maomaochong!";
progress_created(&pid,func,str1);
return 0;
}
进程创建的函数实现
最新推荐文章于 2023-10-12 20:51:53 发布