PDA

View Full Version : Linux e programmazione C con variabili di sistema


Taz83
12-07-2007, 16:31
Buongiorno a tutti, sto scrivendo per l'univeristà un codice c che simuli il funzionamento di ls, cd, mv, ecc utilizzando chiamate di sistema. Avrei bisogno che al termine dell'esecuzione di un main una variabile di sistema contenesse un path alfanumerico per riutilizzarlo se nella stessa sessione viene rilanciato l'eseguibile.. Esistono delle variabili di sistema liberamente utilizzabili per fare una cosa del genere? Se si dove.. E' un comportamento giustificabile? Sicuramente sarà possibile scrivere variabili di sistema.. Si usa farlo per questi scopi (non vorrei proprio usare un semplice txt o espedienti simili).

Grazie a tutti

AnonimoVeneziano
13-07-2007, 00:19
Prova a vedere se creare la variabile di ambiente con "setenv()" funziona "man setenv" per maggiori info

Ciao

ilsensine
13-07-2007, 08:15
Buongiorno a tutti, sto scrivendo per l'univeristà un codice c che simuli il funzionamento di ls, cd, mv, ecc utilizzando chiamate di sistema. Avrei bisogno che al termine dell'esecuzione di un main una variabile di sistema contenesse un path alfanumerico per riutilizzarlo se nella stessa sessione viene rilanciato l'eseguibile.. Esistono delle variabili di sistema liberamente utilizzabili per fare una cosa del genere? Se si dove..
Le variabili di ambiente sono specifiche di un particolare contesto di esecuzione, non puoi cambiare quelle di un altro processo (nel tuo caso, la shell che ti ha lanciato). Puoi crearti segmenti di memoria condivisa persistenti alla chiusura del programma, e metterci dentro i dati che vuoi.

Taz83
13-07-2007, 08:17
Prova a vedere se creare la variabile di ambiente con "setenv()" funziona "man setenv" per maggiori info

Ciao

Grazie, ora controllo sul manuale.


Le variabili di ambiente sono specifiche di un particolare contesto di esecuzione, non puoi cambiare quelle di un altro processo (nel tuo caso, la shell che ti ha lanciato). Puoi crearti segmenti di memoria condivisa persistenti alla chiusura del programma, e metterci dentro i dati che vuoi.

Mi sapresti dire anche per cortesia come fare o giusto uno spunto che poi mi arrangio?

Grazie

ilsensine
13-07-2007, 08:28
shmget (http://man.he.net/man2/shmget) + shmat (http://man.he.net/man2/shmat)

Taz83
13-07-2007, 09:34
shmget (http://man.he.net/man2/shmget) + shmat (http://man.he.net/man2/shmat)

grazie, gentilissimo :)