📄 niki_process.c
字号:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
#include <ctype.h>
int niki=5;
void create_process();
main()
{
int num_childProcess;
printf("Creat the child processes:");
scanf("%d",&num_childProcess);
create(num_childProcess);
}
void create_process(int childprocess)
{
int num_child;
int m;
int k_num;
int process_num;
int kill_num;
num_child=childprocess;
pid_t pid[num_child];
for(m=0;m<num_child;m++)
{
pid_t fork();
if(fork()== -1)
{
printf("create failed!");
exit(0);
}
else if(fork()==0)
{
process_num=m+1;
printf("NO. %d child process, PID: %ld\n",process_num,getpid());
niki++;
printf("you want to see the num:\n");
printf("niki = %d\n",niki);
while(1)
{
sleep(2);
}
}
else
{
niki--;
pid[m]=fork();
printf("Parent process, PID: %ld\n",getpid());
printf("niki = %d\n",niki);
}
}
while(1)
{
printf("which child process you want to kill?(input 0 exit) \n");
scanf("%d",&kill_num);
if(kill_num!=0)
{
kill(pid[kill_num-1],SIGTERM);
}
else break;
}
for(k_num=0;k_num<num_child;k_num++)
{
kill(pid[k_num],SIGTERM);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -