[gull] Truc et astuces: [OpenVZ] A qui appartient un process

Stéphane Graber stgraber at ubuntu.com
Fri Sep 24 22:14:30 CEST 2010


On Fri, 2010-09-24 at 09:34 +0200, Félix Hauri wrote:
> Bonjour,
> 
> Afin de déterminer à qui (quel container OpenVZ) appartient une tâche
> donnée, un simple ``ps'' ou ``top'' ne suffit pas:
> 
> $ ps -C sshd
>   PID TTY          TIME CMD
>  8333 ?        00:00:03 sshd
> 10057 ?        00:00:00 sshd
> 10094 ?        00:00:00 sshd
> 
> Bien, j'ai trois serveurs SSH qui tournent... Donc (en root!):
> # stat -c %N `printf " /proc/%d/root" \`ps -C sshd ho pid\` ` |
>     sed -e "s/^.*roc\/\([0-9]*\)\/.*-> \`\(.*\)'$/\1\t\2/;
>             s@`sed -ne '/VE_ROOT/{s/^.*=\(.*\)$V.*$/\1/;p}' /etc/vz/vz.conf `@@"
> 8333    /
> 10057   100
> 10094   102
> 
> Qui aurrait pu s'écrire:
> # stat -c %N $(printf " /proc/%d/root" $(ps -C sshd ho pid)) |
>      sed -e "s/^.*roc\/\([0-9]*\)\/.*-> \`\(.*\)'$/\1\t\2/;
>          s@$(sed -ne '/VE_ROOT/{s/^.*=\(.*\)$V.*$/\1/;p}' /etc/vz/vz.conf)@@"
> 8333    /
> 10057   100
> 10094   102
> 
> Pour être plus clair:
> # eval $(grep ^VE_ROOT= /etc/vz/vz.conf)
> # echo $VE_ROOT 
> /var/lib/vz/root/
> 
> # pids=$(ps -C sshd ho pid)
> # echo $pids
> 8333 10057 10094
> 
> # stat -c %N $(printf " /proc/%d/root" $pids)
> `/proc/8333/root' -> `/'
> `/proc/10057/root' -> `/var/lib/vz/root/100'
> `/proc/10094/root' -> `/var/lib/vz/root/102'
> 
> ... Le reste, c'est de la ``cosmetique'':
> # stat -c %N $(printf " /proc/%d/root" $pids) |
>      sed -e "s/^.*roc\/\([0-9]*\)\/.*-> \`\(.*\)'$/\1\t\2/;
>              s@$VE_ROOT@@;"
> 8333    /
> 10057   100
> 10094   102

Salut.

vzpid fait aussi ça assez bien:

root at hertz:~# ps aux | grep apache | tail -1
www-data 32562  0.0  0.1 225984 16180 ?        S    Sep21
0:01 /usr/sbin/apache2 -k start
root at hertz:~# vzpid 32562
Pid	VEID	Name
32562	145	apache2



-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://forum.linux-gull.ch/pipermail/gull/attachments/20100924/fab37fce/attachment.pgp>


More information about the gull mailing list