Ir ao conteúdo

Estalha

Membro Pleno
  • Posts

    39
  • Cadastrado em

  • Última visita

Reputação

12
  1. Obrigado pela ajuda @arfneto, eu realmente tinha interpretado de maneira errada o enunciado. Estava pensando muito além do q deveria, ele já está rodando em background. Mas de qualquer forma, agradeço pela ajuda.
  2. Boa tarde a todos, Estou fazendo um trabalho pra faculdade, que é criar um web-server em C, onde ele deverá ser capaz de aceitar múltiplas requisições, onde cada requisição deverá ser atendida por uma thread. Para que o usuário termine sua execução, eu devo captar o sinal SIGUSR1 através do comando: kill -SIGUSR1 <PID> Eu consegui fazer todo o servidor, porém estou com 2 problemas nesse trabalho: 1-Fazer com que o servidor rode em background 2-Manter o terminal que eu executei o ./web_server limpo para que o usuário possa fazer as requisições/SIGUSR1 por ele mesmo. A minha função main está assim até o momento: #include "main.h" #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> #include "sigHandler.h" char *testes = "./testes.sh"; int main(int argc, char *argv[]) { Command *command = extractCommandOptions(argc, argv); pid_t id; int status; if ((id = fork()) < 0) { puts("Erro na criação do novo processo"); exit(-2); } else if (id == 0) { serverRun(command); system(testes); exit(0); } else { wait(&status); statisticsPrint(command ); } //signal(SIGUSR1, sigHandler); return 0; } O arquivo ./testes.sh é um script shell que eu fiz para automatizar o teste de múltiplas requisições em paralelo, o código dele é este: #!/bin/bash check_port() { ss -tuln | grep -q ":$1 " return $? } if check_port 8080; then SERVER_URL="http://localhost:8080" else SERVER_URL="http://localhost:3030" fi FILES=("index.html" "hinoBotafogo.txt" "loccoAbreu.jpeg" "erroHTML.html" "erroTEXTO.txt" "erroIMG.jpeg") NUM_REQUESTS=50 make_request() { local file=$1 curl -s -o /dev/null -w "%{http_code} %{url_effective}\n" "$SERVER_URL/$file" } for FILE in "${FILES[@]}" do for ((i=1; i<=NUM_REQUESTS; i++)) do make_request "$FILE" & done done wait echo "Test completed with $NUM_REQUESTS requests for each file." Alguém tem alguma dica/recomendação de estruturação do código para que eu possa realizar essa execução em background?
  3. é necessário instalar o sistema operacional novamente. Mas vale muito a pena, sistema no SSD vai tornar sua experiencia muito melhor. o que eu recomendo é você instalar o sistema no SSD com o HD ainda conectado, dai você realiza a transferencia dos arquivos para o SSD e dps formata o HD
  4. Boa tarde a todos, estou realizando um trabalho da faculdade, que pede para montarmos um script shell para realizar backup incremental ou backup total de um diretório X para um diretório Y. Na minha implementação eu utilizei os comandos: cp -ur "$backupSource"/* "$backupDest" //backupIncremental cp -r "$backupSource"/* "$backupDest" //backupTotal Na minha pesquisa para esse trabalho, vi que pessoas utilizam o rsync para realizar essa tarefa. Gostaria de saber se existem outras maneiras mais eficientes, se eu fiz da maneira certo. Desde já agradeço pelo suporte.
  5. Pelo o que pesquisei pode adicionar sim, apenas verifique a frequência das memórias. Caso não ache um pente de memória com a mesma frequência, opte por um com uma frequência menor que a sua, porém proxíma
  6. Boa noite a todos Tenho um notebook que roda Ubuntu 22.04 LTS e preciso poder acessar remotamente ele, com interface gráfica, remotamente pelo meu computador do trabalho(Macbook). Gostaria de saber a melhor forma de realizar o acesso, se tem alguma ferramenta que é compatível com ambos, e também a questão de fixar IP da rede, e configurar despertar do pc via internet. Desde já agradeço pela ajuda
  7. Estou precisando criar uma máquina virtual utilizando hyper v, porém não consigo habilitar ele nas permissoes da placa de rede, logo, fico sem internet dentro da maquina virtual. alguém ja enfrentou esse problema? sabe como solucionar?
  8. @Vitor Saliba Boa noite Sabe me informar como estão posicionadas as memórias nos soquetes da placa-mãe? Tenta colocar um número próximo de 3200 porém inferior (ex:3150) e nos informe o resultado pf
  9. Boa noite a todos. Estou com um notebook Dell Latitude E7240 parado aqui em casa e resolvi deixar ele zero bala. Ao abrir o notebook vi que ele ta se a tecla 'X'. Ao pressionar a membrana, ela ainda funciona, porém gostaria de arrumar direito. Alguém teria conhecimento se esse notebook tem o teclado rebitado a placa-mãe? O processo de troca é simples (sendo rebitada ou não)? Alguma dica? Até mesmo de onde comprar o teclado novo Desde já agradeço pela atenção.
  10. Boa tarde a todos Atualmente estou utilizando Ubuntu (mais de 2 anos) e estou querendo mudar para o Arch a um bom tempo. Enfim decidi fazer essa mudança, e ao começar o processo vi como o pendrive que eu tenho é ruim, muito devagar. Gostaria de saber se vocês tem algum modelo de pendrive que possam me recomendar. Recomendam uma unidade externa SSD? OU não possui um custo-benefício tão bom? Minha prioridade é velocidade, não capacidade de armazenamento. Desde já agradeço pela atenção
  11. @jotz lotz Clica com o Botão direito do mouse sobre o ícone e procura o "Abrir com" ou então "Propriedades"
  12. Boa tarde, Estou estudando Software Básico, e estou precisando visualizar com mais facilidade o código em assembly. Sei que tem como traduzir utilizando o comando gcc -S nomeDoArquivo.c Porém o resultado vem em uma versão diferente, uma sintaxe que não me é familiar. Estou estudando utilizando Intel x86-64, onde cara movimentação (add, mov, sub, etc..) vem com o sufixo B, W L Q, e gostaria que o arquivo .S viesse também. Sabem me informar como posso reescrever esse comando para ficar da maneira desejada? Desde já agradeço pela atenção
  13. Não estou conseguindo instalar a biblioteca Tweepy no meu notebook (Ubuntu). Já tentei sudo apt-get install python-tweepy pip install tweepy E nenhuma dessas acaba instalando. Quando tento rodar o código aparece a mensagem:
  14. O código que desejo compilar é esse? /* int nums[] = {10, -21, -30, 45}; int main() { int i, *p; for (i = 0, p = nums; i != 4; i++, p++) soma+=nums[i] return 0; } */ .data nums: .int 10, -21, -30, 45 Sf: .string "%d\n" # string de formato para printf .text .globl main main: /*Dicionário: reg var r12 &nums ebx i r13d soma r14d aux */ /* rbp e rsp sao ponteiros para pilhas, padrão dos códigos */ pushq %rbp /* coloca o frame pointer no topo da pilha*/ movq %rsp, %rbp/* copia stack pointer para frame pointer*/ subq $16, %rsp/* stack pointer = stack pointer - 16*/ movq %rbx, -8(%rbp) /* */ movq %r12, -16(%rbp) /********************************************************/ movl $0, %ebx /* ebx = 0; */ movq $nums, %r12 /* r12 = &nums */ movq $0, %rax L1: cmpl $4, %ebx /* if (ebx == 4) ? */ je L2 /* goto L2 */ /********************************************************/ addq (%r12), %rax addl $1, %ebx /* ebx += 1; */ addq $4, %r12 /* r12 += 4; */ jmp L1 /* goto L1; */ L2: movq $Sf, %rdi /* primeiro parametro (ponteiro)*/ movl %eax, %esi /* segundo parametro (inteiro) */ movl $0, %eax call printf /* chama a funcao da biblioteca */ /***************************************************************/ /* mantenha este trecho aqui e não mexa - finalizacao!!!! */ movq $0, %rax /* rax = 0 (valor de retorno) */ movq -8(%rbp), %rbx movq -16(%rbp), %r12 leave ret /***************************************************************/ e estou escrevendo no terminal: gcc -no-pie -o prog2 prog2.s ./prog2 e fica aparecendo a mensagem: bash: ./prog2: Permissão negada
  15. você pode fazer uma variável auxiliar que mostra essa posição, dentro do if que mostra o fim da sequência, você coloca um enderecao maior = i - auxiliar. e a posicao do endereço é vetor[endereco]

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...