- Messaggi: 187
- Ringraziamenti ricevuti 0
[LA] Linux avanzato 2008
- COM_EASYSOCIAL_GUEST_NAME
-
- 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.
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!!!!!!!!!!!!!!!!!!!!!!!!
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
-
- Visitatori
-
17 Anni 1 Mese fa #84119
da COM_EASYSOCIAL_GUEST_NAME
Effettivamente è stato molto umano rispetto alle precedenti prove, la difficoltà era nel saper usare la execvp, e ora mi raccomando....Smoking....com'è andata?
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
-
- Visitatori
-
17 Anni 1 Mese fa #84120
da COM_EASYSOCIAL_GUEST_NAME
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!
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.
- chiara sabbatella
-
- Offline
- Senior Member
-
Riduci
Di più
- Messaggi: 62
- Ringraziamenti ricevuti 0
17 Anni 1 Mese fa #84143
da chiara sabbatella
Risposta da chiara sabbatella al topic [LA] Linux avanzato 2008
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!
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
-
- 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
guarda gli operatori bitwise
if( st.st_mode & S_IXUSR )Si prega Accedi o Crea un account a partecipare alla conversazione.