Si vous voulez créer des env
comme la sortie des variables d'environnement pour un processus arbitraire (PID), vous pouvez créer une commande bash pratique penv <pid>
(adaptée à votre système d'exploitation) et ajoutez-la à votre fichier .bashrc
:
Linux ajoutez ceci à votre ~/.bashrc :
penv () {
xargs --null --max-args=1 < /proc/$1/environ
}
macOS / BSD ajoutez ceci à votre ~/.bashrc :
penv() {
ps eww -o command $1 | tr ' ' '\n'
}
Solaris ajoutez ceci à votre ~/.bashrc :
penv() {
pargs -e $1
}
Utilisation :
$ source $HOME/.bashrc
$ pgrep VBoxSVC
10268
$ penv 10268
SSH\_CONNECTION=1.1.1.242 53960 1.1.1.91 22
GREP\_COLORS=sl=49;39:cx=49;39:mt=49;38;5;167;1:fn=49;39;1:ln=49;39:bn=49;39:se=50;39
LANG=en\_US.UTF-8
EDITOR=vim
XDG\_SESSION\_ID=106
USER=root
PWD=/root
HOME=/root
SSH\_CLIENT=1.1.1.242 53960 22
SSH\_TTY=/dev/pts/3
MAIL=/var/mail/root
TERM=xterm-256color
SHELL=/bin/bash
SHLVL=1
LOGNAME=root
DBUS\_SESSION\_BUS\_ADDRESS=unix:path=/run/user/0/bus
XDG\_RUNTIME\_DIR=/run/user/0
PATH=/root/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:.
VBOX\_LOG\_FLAGS=thread tsc
VBOX\_LOG=-all+dev\_vmm\_backdoor.e.l.f+dev\_vmm.e.l.f
3 votes
Même si /proc/<pid>/environ a une taille de 0, il y a toujours des informations dedans. "Cela a plus de sens si vous le considérez comme une fenêtre dans le noyau. Le fichier ne contient pas réellement de données ; il agit simplement comme un pointeur vers l'endroit où résident les informations réelles du processus. " [[source](http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/proc.html) ]