Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
POCO F9 Pro arriva sul mercato con l'obiettivo di portare prestazioni da smartphone top di gamma in una fascia di prezzo "più aggressiva", senza rinunciare a un comparto fotografico finalmente all'altezza. Dopo averlo testato sul campo, emerge uno smartphone molto più completo rispetto alla generazione precedente, ma anche con alcuni piccoli compromessi che diventano difficili da ignorare quando il prezzo di listino sfiora i 1.000 euro.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-09-2008, 15:48   #1
FNF-fabius
Junior Member
 
Iscritto dal: Sep 2008
Messaggi: 1
[C] SEGNALI mettere in pausa un gruppo di processi

Salve a tutti,
ho un problema riguardante la gestione dei segnali sotto Unix.
A partire da un processo padre che si forka n volte devo tramite segnali mettere in pausa il padre stesso e tutti gli n figli attivi in un dato istante. La pausa deve essere lunga un numero di secondi arbitrario, a discrezione dell'uutente.
Io ho impostato in C le seguenti righe di codice ma c'e' qualcosa ke mi sfugge, i processi vanno in pausa ma al momento di riprendere l'attivita' il programa termina al posto di continuare dal punto in cui si era fermato.

nel processo padre inserisco un gestore di SIGTSTP esattamente prima di iniziare il ciclo di fork degli intermediari - signal (SIGTSTP, gest1);

il segnale viene cosi' gestito dal processo padre

scanf("%d",&pausa); //si legge il numero arbitrario di secondi per la pausa


killpg(INTERM,SIGSTOP); //mando un SIGSTOP ai processi figli che ho radunato sotto il gruppo INTERM


sighold(SIGALRM);

alarm(pausa);

sigpause(SIGALRM);
//metto in pausa il padre in attesa di un SIGALRM
//e invio un SIGALRM dopo "pausa" secondi
killpg(INTERM,SIGCONT);

//infine quando il padre e' risvegliato da SIGALRM invia un SIGCONT ai processi figli affinche' riprendano l'esecuzione.


Un problema che ho rilevato e' che non riesco nel codice dei processi figli ad impostare correttamente il gruppo:

int group=setpgid(getpid(), INTERM);//assegno il groupID

questa ritorna sempre -1. Qualcuno sa dirmi come mai?
C'e' un'altra forma per raggruppare processi in modo da inviare un segnale a tutto un gruppo?

Grazie
FNF-fabius è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 14:45   #2
aleksay
Junior Member
 
L'Avatar di aleksay
 
Iscritto dal: Jul 2008
Messaggi: 20
salve a tutti
ho lasciato maturare un pochino questo blog sperando che qualcuno desse un aiutino
perche anche io ho lo stesso identico problema.....

groupID = setpgid(0,getpid());

questa riga fallisce stampando :not owner
nella console degli errori

please sono in alto mare!!!!
aleksay è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 15:41   #3
xciaoatuttix
Member
 
L'Avatar di xciaoatuttix
 
Iscritto dal: Jul 2008
Messaggi: 255
ciao ho letto il post ma non ho capito niente
se mi spieghi in breve solo cosa vuoi fare ti aiuto io se riesco
xciaoatuttix è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 16:10   #4
aleksay
Junior Member
 
L'Avatar di aleksay
 
Iscritto dal: Jul 2008
Messaggi: 20
ciao xciaoatuttix!!!!

praticamente il programma sarebbe un agenzia viaggi che alla pressione di CTRL-Z
va in sciopero per un tot di secondi (inseriti da tastiera) e poi continua a lavorare.

questo implica che un programma invii a tutti i suoi figli un SIGSTOP e poi
senza fare attesa attiva invii agli stessi processi un SIGCONT....

aleksay è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 16:48   #5
xciaoatuttix
Member
 
L'Avatar di xciaoatuttix
 
Iscritto dal: Jul 2008
Messaggi: 255
allora questo programma funziona come dici:
lavora e quando riceve il segnale SIGTSTP ( Ctrl+z ) aspetta x secondi inseriti da tastiera.
iniziamo da qui e poi vediamo che altro ti serve
il discorso sui figli non l'ho capito. Quanti figli si devono creare ? vanno tutti sotto lo stesso gruppo ? anche il padre fa parte del gruppo? ecc

Codice:
#include <stdio.h>
#include <fcntl.h>
#include <signal.h>

void sighandler(int);

main() {
 
 signal(SIGTSTP,sighandler);

 while(1){ 
   printf("sto lavorando\n");
   sleep(1);
   
         }
 
}


void sighandler(int sig)
{int x;
 printf("segnale ricevuto. Quanti secondi devo aspettare? \n");
 scanf("%d",&x);
 sleep(x);
}

Ultima modifica di xciaoatuttix : 08-09-2008 alle 16:58.
xciaoatuttix è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 17:59   #6
aleksay
Junior Member
 
L'Avatar di aleksay
 
Iscritto dal: Jul 2008
Messaggi: 20
il mio problema e che la sleep() effettua una attesa attiva...occupa la cpu invece dovrebbe sospendersi...e poi sarebbe troppo facile!!!

il processo padre e un demone che crea sei figli alla volta che nascono e muoiono in continuo...ad un certo punto (pressione di CTRL-Z) i figli si devono sospendere senza che pero venga sospeso il padre...se no non posso piu risvegliare niente...

per quanto riguarda la gestione dei gruppi tutti i figli e il padre fanno parte dello stesso gruppo che ha come ID il pid del padre....comportamento di default perche come diceva FNF-fabius le setpgid() falliscono sempre e cmq

altra piccola cosa.. se eseguo queste tre righe:

sighold(SIGALRM);
alarm(pausa);
sigpause(SIGALRM);

l'ultima istruzione mi termina il programma....percheee?!?!?!?????
aleksay è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 19:56   #7
xciaoatuttix
Member
 
L'Avatar di xciaoatuttix
 
Iscritto dal: Jul 2008
Messaggi: 255
non capisco perche ma anche a me fallisce mi spiace

pensavo bastasse avviare il programma come superuser e invece dice sempre che l'operazione non è permessa
xciaoatuttix è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
Musk, rilasciato il trailer del docufilm...
Carburanti, dopo Eni anche IP annuncia u...
HEO Space ha rilasciato una nuova immagi...
La missione Artemis III sarebbe in ritar...
Apple apre Music Hall, una sala concerto...
Adobe arriva su Gemini e Claude: nuove f...
Non solo Fideuram: quasi 2 milioni di it...
I lettori CD di fascia alta potrebbero s...
Tutto il meglio di Amazon weekend: 5 nov...
Proscenic P15+ a 113€ su Amazon: scopa e...
TP-Link Wi-Fi 6 a 59,99€ e Tenda 4G03 Pr...
Un quasi top di gamma a 461€: lo smartph...
Roborock Saros 20 Neo e Flow Complete: 3...
Mac mini si trasforma: chip a 2 nanometr...
Su Amazon c'è un super TV Samsung...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:13.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v