Linux进程编程示例

Linux进程编程示例

Linux进程和线程有些不一样,所有变量内存都是独立的,线程变量等内存是共享的和实时系统里面的rtos任务差不多,所以线程间数据交换用全局变量或者全局数组都可以了,进程必须是以文件的方式通信,比如管道、信号量、共享内存都是文件,接下来就给一个示例讲讲进程。

头文件
#include <unistd.h>

函数原型
创建进程
pid_t fork()
直接退出进程
void _exit(int status)

程序示例

#include<sys/types.h>
#include<unistd.h>
#include<errno.h>
//process test

void create_my_process(void)
{
pid_t pid,pid1;

pid = fork(); 
if(pid == 0)
{
	printf("process1 create ok\n");  
	while(1)
	{
		printf("process1 run\n"); 
		sleep(1);
	}
}
else if(pid < 0)
	{
		printf("process create failed\n"); 
		perror("fork");  
	}
	else
	{

	}
pid1 = fork(); 
if(pid1 == 0)
{
	printf("process create ok\n");  
	while(1)
	{
		printf("process1 run\n"); 
		sleep(2);
	}
}
else if(pid < 0)
	{
		printf("process create failed\n"); 
		perror("fork");  
	}
	else
	{
		
	}

}

int mian()
{
create_my_process();
Return 0;
}

猜你喜欢

转载自blog.csdn.net/u010835747/article/details/105141495