Linux进程编程示例
Linux进程和线程有些不一样,所有变量内存都是独立的,线程变量等内存是共享的和实时系统里面的rtos任务差不多,所以线程间数据交换用全局变量或者全局数组都可以了,进程必须是以文件的方式通信,比如管道、信号量、共享内存都是文件,接下来就给一个示例讲讲进程。
头文件
#include <unistd.h>
函数原型
创建进程
pid_t fork()
直接退出进程
void _exit(int status)
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(1);
}
}
else if(pid < 0)
{
printf("process create failed\n");
perror("fork");
}
else
{
}
}
int main()
{
create_my_process();
return 0;
}