Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

Problemas de Programação com Processos

Por:   •  3/3/2018  •  1.466 Palavras (6 Páginas)  •  295 Visualizações

Página 1 de 6

...

uma mensagem de erro deve ser enviada ao usuário. O interpretador de comandos deve ser encerrado com “exit”.

nano 5_1.c

main(){system(“bin/sh”);}/*Com essa linha de comando foi possível através desse programa em C utilizar todos os processos e programas do shell através do meu código utilizado na distro Debian 8.4.*/

(2) A segunda alternativa considera os mesmos requisitos apresentados na anteriormente, porém considera o uso da chamada de sistema system() para a execução dos comandos presentes no GNU/Linux, especificamente, em “/bin/” e “/sbin”.

5. Incluindo o processo pai inicial, quantos processos são criados

pelo programa mostrado a seguir:

#include<stdio.h>

#include<unistd.h>

int main(){

/*gera um processo filho*/

fork();

/*gera um processo filho*/

fork();

/*gera um processo filho*/

fork();

/*gera um processo filho*/

fork();

/*gera mais um processo filho*/

fork();

return 0; }

32 processos são criados no total. Sendo que 1º é criado o processo do programa em c,

no primeiro fork são realizadas duplicações da quantidade de subprocessos para 2,

no segundo fork são realizadas duplicações da quantidade de subprocessos para 4,

no terceiro fork são realizadas duplicações da quantidade de subprocessos para 8,

no quarto fork são realizadas duplicações da quantidade de subprocessos para 16,

no quinto fork são realizadas duplicações da quantidade de subprocessos para 32.

6. Crie um programa que imprima na tela o ID do processo chamador.

#include<stdio.h>

#include <sys/types.h>

#include <unistd.h>

int main(){}

#include <stdio.h>

#include <unistd.h>

#include <sys/types.h>

pid_t getpid(void);

pid_t getppid(void);

int main(){ printf("O Pid de processo eh = %d \n", getpid() ); }

7. Crie um programa que imprima na tela o ID do processo chamador e do processo pai do processo chamador. Quem é o processo pai do processo chamador?

#include<stdio.h>

#include <sys/types.h>

#include <unistd.h>

int main(){}

#include <stdio.h>

#include <unistd.h>

#include <sys/types.h>

pid_t getpid(void);

pid_t getppid(void);

int main(){

printf("O Pid de processo chamador do processo filho: %d \n", getpid() );

printf("O Pid de processo pai do processo chamador é: %d \n", getppid() ); }

8. Crie um programa zombie.c que seja colocado para dormir (forçadamente) por 30 segundos. Abra um novo terminal e por meio do comando “top” verifique o resultado. PS. O comando “sleep(10); para a execução de um processo por dez segundos.

#include <stdlib.h>

#include <sys/types.h>

#include <unistd.h>

int main(){}

#include <stdio.h>

#include <unistd.h>

#include <sys/types.h>

int main (){

printf("Um processo está sendo criado!\n");

printf("O processo estara dormindo pelos proximos 30 segundos\n!");

wait(sleep(30));

printf("O processo foi finalizado\n!"); }

9. Arquivos em disco suportam acesso sequencial e aleatório. Em C é possível criar os arquivos através de chamadas de sistema. Vejamos algumas chamadas de sistema para manipulação de arquivos:

fopen() Abrir

fclose()Fechar

fputc() Escrever caracter

fgetc() Lê um caracter

fseek() Posicionar em um byte específico

fprintf() Escreve uma cadeia

fscanf() Lê uma cadeia

feof() End of File (Fim do arquivo)

ferror() Ocorreu um erro

rewind()Reloca o indicador para o início

remove() Apaga o arquivos

fflush() Descarrega o arquivos

fout()

Ponteiro para arquivo: variável do tipo FILE

FILE *ponteiro;

Exemplo:

FILE *ponteiro;

Abrindo um arquivo:

ponteiro = fopen (arquivo,

modo) Exemplo:

fp = fopen(“teste.txt”,

...

Baixar como  txt (10.6 Kb)   pdf (60.2 Kb)   docx (575.9 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no Essays.club