Codice: Seleziona tutto
kill -s SIGUSR1 1430
Codice: Seleziona tutto
void handler_sig(int sig){
if (sig == SIGUSR1) {faccio le mie cose;}
}
Ho sbagliato ad interpretare l'uso dei segnali?? .... oppure in C++ devo fare altro per ottenere il segnale?
Codice: Seleziona tutto
kill -s SIGUSR1 1430
Codice: Seleziona tutto
void handler_sig(int sig){
if (sig == SIGUSR1) {faccio le mie cose;}
}
Codice: Seleziona tutto
*****sudo apt-get install bleachDeiNirvana *****
Ciao,giorgiofoga ha scritto:Codice: Seleziona tutto
void handler_sig(int sig){ if (sig == SIGUSR1) {faccio le mie cose;} }
Codice: Seleziona tutto
#include <stdio.h>
#include <unistd.h>
#include <error.h>
#include <signal.h>
volatile int sig=0;
void handler_sig(int s)
{
sig = s;
}
int main()
{
struct sigaction sa;
sa.sa_handler = handler_sig;
sa.sa_flags = 0;
sigemptyset(&sa.sa_mask);
if (sigaction(SIGUSR1, &sa, NULL) == -1) {
perror("sigaction");
return -1;
}
unsigned int i=0;
while(++i) {
if (sig && printf ("**GOT SIG %d\n",sig))
sig=0;
printf("%2u Hello World!\n",i);
sleep(1);
}
return 0;
}
Codice: Seleziona tutto
*****sudo apt-get install bleachDeiNirvana *****
Codice: Seleziona tutto
*****sudo apt-get install bleachDeiNirvana *****
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti