linux C编程 进程问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 19:57:06
题目:创建新的进程;查看运行进程;换出某个进程;杀死运行进程
我只会做前面两步
代码如下
#include<stdio.h>
#include<sys/types.h>
int main()
{
int pid1,pid2;
printf("Parent Process:a\n");
if((pid1=fork())<0)
{
printf("Child1 fail create!\n");
return 1;
}
else if(pid1==0)
{
printf("Child1(pid1=%d)Process:b\n",getpid());
return;
}
if((pid2=fork())<0)
{
printf("Child2 fail create!\n");
return 1;
}
else if(pid2==0)
{
printf("Child2(pid2=%d)Process:c\n",getpid());
return;
}
}
希望高手补充完整,或者给出后两项的示范程序或函数也好,谢谢~

创建新的进程;

fork()、vfork()

查看运行进程;
getpid()获得自己PID、getppid()获得父进程PID

换出某个进程;

exec函数族execlp、execvp()

杀死运行进程

kill(SIGKILL, pid) pid为要杀死的进程PID

以上的函数可查看linux man手册,用法man -a 函数名称 如man -a fork