创建一个新的进程
pip_t fork(void);
返回值:失败返回-1;成功有两次返回,父进程返回子进程的id,子进程返回0
获得pid,进程id,获得当前进程
pip_d getpid(void);
获得当前进程父进程的id
pip_d getppid(void);
fork.c
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
int main()
{
printf("Begin ....\n"); //要加\n
pid_t pid=fork();
if(pid<0){
perror("fork err");
exit(1);
}
if(pid==0){
//子进程
printf("I am a child,pid=%d,ppid=%d\n",getpid(),getppid());
else if(pid>0){
//父进程
printf("childpid=%d,self=%d,ppid=%d\n",pid,getpid(),getppid());
sleep(1);
}
printf("End ....\n");
return 0;
}
查看进程信息
ps
ps aux
ps ajx 可以追溯进程间血缘关系
kill
给进程发送一个信号
SIGKILL 9号信号
kill -SIGKILL pid(kill -9 pid) 杀死进程
915

被折叠的 条评论
为什么被折叠?



