Exemplo de programação de processo Linux
Os processos do Linux são um pouco diferentes das threads. Toda a memória variável é independente. As variáveis da thread e outras memórias são compartilhadas de maneira semelhante às tarefas RTOS em sistemas de tempo real. Portanto, variáveis globais ou matrizes globais podem ser usadas para a troca de dados entre as threads. O processo deve ser A comunicação na forma de arquivos, como tubos, semáforos e memória compartilhada são todos arquivos. A seguir, darei um exemplo para falar sobre o processo.
Cabeçalho
#include <unistd.h>
Protótipo de função
Criar processo
pid_t fork ()
sair diretamente do processo
void _exit (int status)
Exemplo de programa
#include <sys / types.h>
#include <unistd.h>
#include <errno.h>
// teste de processo
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; }