A chamada do sistema Kill () na linguagem C é usada pelo sistema operacional para enviar um sinal de descontinuação para um processo, instando -o para sair. Por outro lado, uma chamada do sistema de matança nem sempre implica que o processo está sendo encerrado; Pode ter uma variedade de significados. Usando a função do sistema "Kill ()", um processo pode sinalizar para um novo processo. A chamada do sistema Kill () é amplamente usada para transmitir sinais para programas multithread ou processos tradicionais. Com base em seus valores numéricos, o parâmetro PID inteiro tem múltiplas implicações. Se o valor PID for superior a zero, o sinal SIG será emitido para o grupo de threads do processo cujo PID corresponde ao PID. Se o valor PID for igual a zero, o sinal SIG será transmitido a todos os grupos de threads no mesmo grupo de processo que o processo de chamadas. Se o PID é igual a -1, exceto o Swapper (PID 0), init (PID 1) e corrente, o sinal é dado a todos os processos.
Neste guia, explicaremos a implementação do sistema Kill () Chamada no idioma C.
Pré-requisitos:
Observação: Estamos usando o Ubuntu 20.04 Sistema Linux.
Exemplo para Kill () System Call in C
Vamos começar com um exemplo breve e simples para esclarecer nosso conceito de chamada do sistema Kill (). Para isso, precisamos ter um .Arquivo C em nosso sistema. Como já está afirmado que estamos utilizando o Ubuntu 20.04 Sistema Linux, então criaremos um .Arquivo C usando o shell. Em primeiro lugar, inicie o shell pesquisando -o na aplicação do Ubuntu 20.04 Sistema Linux ou utilizando a tecla “Ctrl+Alt+T”. Depois de obter acesso ao shell, execute o comando abaixo do lugar no console.
$ nano Kill.c
O nome do arquivo no nosso caso é “Mate.C ”. No entanto, cabe a você nomear seu arquivo conforme sua escolha. Após a implementação do comando listado acima, o editor do GNU Nano aparecerá na sua tela. Você tem que escrever um código semelhante ao exibido na captura de tela abaixo tachada. No entanto, dependendo dos seus requisitos de trabalho, o código pode ser facilmente modificado.
O INT ARGC (contagem de argumentos) mantém a quantidade de argumentos da linha de comando dados pelo usuário, como o nome do programa. Se dermos um valor ao programa, o valor do ARGC será dois; um para o argumento e outro para o nome do programa. O valor do ARGC não deve ser negativo. Argv (Vetor de argumento) é uma matriz de ponteiro de personagem que contém todos os argumentos. Na função Printf, usamos getpid ().
A função getpid () é usada para obter o ID do processo do processo que o chama. O PID para o processo inicial é 1 e cada processo de sucesso recebe um ID diferente. É um método simples para obter o PID. Esta função ajuda você a obter identificadores de processo exclusivos. O unistd.H Biblioteca, um atalho da Biblioteca Padrão do UNIX, fornece a função Sleep (). Queremos dormir por 5 segundos neste cenário. O parâmetro será 5, o que é um número inteiro. A abreviação Sigsegv significa “Violação de Segmentação.”Quando um programa tenta escrever/ler fora da memória alocada a ele, ou ao escrever memória que só pode ser lida, o Sigsegv ocorre. A abreviação Sigsegv significa "violação de segmentação". Depois de escrever o código, é hora da execução e compilação.
Execute o comando declarado abaixo no console do Ubuntu 20.04 Sistema Linux.
$ GCC Kill.c
Não haverá saída deste comando. Agora, para obter a saída do comando acima escrito, execute o comando declarado abaixo no console do Ubuntu 20.04 Sistema Linux.
$ ./a.fora
Você pode verificar se a saída foi exibida no shell.
Conclusão
Este artigo forneceu uma breve descrição do sistema Kill () chamado em c. O uso do sistema de matar () em C foi fornecido em detalhes. Executamos um dos exemplos para esclarecer o conceito. Espero que este programa o beneficie em executar seu código de maneira eficaz.