fbpx
Skip to main content

[LA] Linux avanzato 2008

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
17 Anni 1 Mese fa #83985 da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic [LA] Linux avanzato 2008
Crepi... speriamo che ci dia un programma di pari complessità dei programmi dati in precedenza... Ciao

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
17 Anni 1 Mese fa #84077 da Gabriele
Risposta da Gabriele al topic [LA] Linux avanzato 2008
oggi è stato proprio bravo! ci ha dato la kill_on_timeout!
programma c che riceve due o più parametri, il primo e il timeout, il secondo un comando e gli altri eventuali parametri per il comando.
il padre crea un figlio che esegue il comando. se termina regolarmente stampa terminazione normale, se invece scatta timeout gli invia SIGKILL e stampa terminazione anormale.

suggerimento: usare execvp (e aggiungo, testare con ls -R -l (rapido) e ls / -R -l (un po' più lungo per verificare timeout))

io l'esercizio l'avevo visto male, mi ero solo dato un'occhiata alla alarm(), le exec le avevo proprio saltate! ma con il man non c'è stato problema!
non ci resta che l'orale... speriamo bene!!!!!!!!!!!!!!!!!!!!!!!!

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
17 Anni 1 Mese fa #84119 da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic [LA] Linux avanzato 2008

oggi è stato proprio bravo! ci ha dato la kill_on_timeout!
programma c che riceve due o più parametri, il primo e il timeout, il secondo un comando e gli altri eventuali parametri per il comando.
il padre crea un figlio che esegue il comando. se termina regolarmente stampa terminazione normale, se invece scatta timeout gli invia SIGKILL e stampa terminazione anormale.

suggerimento: usare execvp (e aggiungo, testare con ls -R -l (rapido) e ls / -R -l (un po' più lungo per verificare timeout))

io l'esercizio l'avevo visto male, mi ero solo dato un'occhiata alla alarm(), le exec le avevo proprio saltate! ma con il man non c'è stato problema!
non ci resta che l'orale... speriamo bene!!!!!!!!!!!!!!!!!!!!!!!!


Effettivamente è stato molto umano rispetto alle precedenti prove, la difficoltà era nel saper usare la execvp, e ora mi raccomando....Smoking....com'è andata?

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
17 Anni 1 Mese fa #84120 da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic [LA] Linux avanzato 2008

oggi è stato proprio bravo! ci ha dato la kill_on_timeout!
programma c che riceve due o più parametri, il primo e il timeout, il secondo un comando e gli altri eventuali parametri per il comando.
il padre crea un figlio che esegue il comando. se termina regolarmente stampa terminazione normale, se invece scatta timeout gli invia SIGKILL e stampa terminazione anormale.

suggerimento: usare execvp (e aggiungo, testare con ls -R -l (rapido) e ls / -R -l (un po' più lungo per verificare timeout))

io l'esercizio l'avevo visto male, mi ero solo dato un'occhiata alla alarm(), le exec le avevo proprio saltate! ma con il man non c'è stato problema!
non ci resta che l'orale... speriamo bene!!!!!!!!!!!!!!!!!!!!!!!!


Effettivamente è stato molto umano rispetto alle precedenti prove, la difficoltà era nel saper usare la execvp, e ora mi raccomando....Smoking....com'è andata?


io l'avevo fatta venerdi' scorso con la mkfifo.. tutto bene grazie! :)
ora auguriamoci che non abbia dato le prove facili per il gusto di steccare tutti all'orale! :)

Eventuali dubbi sulla teoria (che più la studio, più mi sembra un botto!) postiamoli qui mi raccomando! :)
ciao!
ciao!

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
17 Anni 1 Mese fa #84143 da chiara sabbatella
Ragazzi un problema su un prog C

Ho fatto sto programmino:

int main()
{
int fd = 0, int_st = 0, ver = 0;
struct stat st;

fd = open("./prova.txt", O_RDWR|O_CREAT, 777);

int_st = stat("./prova.txt", &st);

if(int_st == -1)
{
printf("La funzione non è terminata con successo\n");
exit(0);
}else
if(int_st == 0)
printf("La funzione è terminata con successo\n");

printf("INODE: %d, n_link: %d, st_mode: %d\n", st.st_ino, st.st_nlink, st.st_mode);

ver = S_ISREG(st.st_mode);
printf("E' un file regolare?: %d\n", ver);

if( st.st_mode == S_IXUSR )
printf("Il proprietario ha i permessi di esecuzione\n");

if( st.st_mode == S_IWUSR )
printf("Il proprietario ha i permessi di scrittura\n");

if( st.st_mode == S_IRUSR )
printf("Il proprietario ha i permessi di lettura\n");

close(fd);
return 0;
}

il file "prova.txt" ha quindi i permessi di questo tipo:
drwxr-xr-x 2 root root 4096 2008-10-09 12:32 .
drwxr-xr-x 21 root root 4096 2008-10-09 11:44 ..
-rwxr-xr-x 1 root root 7499 2008-10-09 12:32 a.out
-rwxrwxrwx 1 root root 0 2008-10-09 11:47 prova.txt
-rw-r--r-- 1 root root 927 2008-10-09 12:32 stat.c
-rw-r--r-- 1 root root 927 2008-10-09 12:31 stat.c~

Quindi sto file prova ha tutti i permessi possibili immaginabili ma allora perchè le ultime 3 printf non le stampa???

Ciao grazie!

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
17 Anni 1 Mese fa #84150 da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic [LA] Linux avanzato 2008
perché sono flags... come fa un int ad essere uguale sia a S_IXUSR che a S_IWUSR che a S_IRUSD?
guarda gli operatori bitwise
if( st.st_mode & S_IXUSR )

Si prega Accedi o Crea un account a partecipare alla conversazione.