2009-02-10 8 views

Répondre

90

Les variables d'environnement d'un processus existent au moment de l'exécution et ne sont pas stockées dans certains fichiers. Ils sont stockés dans la mémoire du processus (c'est là qu'ils sont transmis aux enfants). Mais il y a un fichier virtuel dans

/proc/pid/environ

Ce fichier affiche toutes les variables d'environnement qui ont été adoptées lors de l'appel du processus (à moins que le processus qui écrasait une partie de sa mémoire - la plupart des programmes ne le font pas). Le noyau les rend visibles à travers ce fichier virtuel. On peut les lister. Par exemple, pour afficher les variables du processus 3940, on peut faire

cat /proc/3940/environ | tr '\0' '\n' 

Chaque variable est délimitée par un zéro binaire de la suivante. tr remplace le zéro dans une nouvelle ligne.

+0

Cette information est-elle spécifique à Linux? – cletus

+0

Cletus, oui je pense que c'est spécifique à Linux, mais je ne sais pas. –

+4

Tout ce qui figure dans '/ proc' devrait être présumé spécifique au système d'exploitation. Ecrire des programmes qui regardent '/ proc' est un gros WTF pour moi. – asveikau

26

Tapez "set" et vous obtiendrez une liste de toutes les variables courantes. Si vous voulez que quelque chose persiste, placez-le dans ~/.bashrc ou ~/.bash_profile (si vous utilisez bash)

-7

Cette variable n'est pas stockée dans certains scripts. Il est simplement défini par les scripts du serveur X. Vous pouvez vérifier les variables d'environnement actuellement définies à l'aide de .

+0

En fait, il est défini * par * le shell * pour * les clients X. – paxdiablo

+0

Bien sûr, il est défini par les scripts qui mettent le serveur X en place. –

7

Il est stocké dans le processus (shell) et depuis que vous l'avez exporté, tous les processus qui génèrent des spawns. Ce qui précède ne le stocke nulle part dans le système de fichiers comme/etc/profile. Vous devez l'indiquer explicitement pour que cela se produise.

8

Si vous voulez mettre l'environnement pour une utilisation à l'échelle du système, vous pouvez le faire avec le fichier /etc/environment.

+0

Down vote? Pourquoi? Veuillez expliquer. – JohnnyQ

+0

La question est au sujet de où dans ʀᴀᴍ. – user2284570

+2

@ user2284570 où dans la question spécifié cela? Pouvez-vous élaborer s'il vous plaît? – JohnnyQ

Questions connexes