Como posso matar um contêiner LXC preso?

5

Eu tenho um novo contêiner LXC sem privilégios que não consigo parar. lxc-stop -n dl trava. lxc-stop -k --nolock -n dl trava. lxc-ls trava. lxc-attach -n dl trava. Nada funciona neste contêiner.

Eu reiniciei lcxfs . Tudo o que fez foi perturbar um contêiner privilegiado. É assim que os processos atuais desse container se parecem (do host).

lxc-start,24434
  └─systemd,24446 --system --deserialize 9
      ├─agetty,25258 --noclear --keep-baud console 115200 38400 9600 vt220
      ├─agetty,25846 --noclear --keep-baud pts/1 115200 38400 9600 vt220
      ├─agetty,25878 --noclear --keep-baud pts/3 115200 38400 9600 vt220
      ├─agetty,25906 --noclear --keep-baud pts/2 115200 38400 9600 vt220
      ├─agetty,25934 --noclear --keep-baud pts/0 115200 38400 9600 vt220
      ├─rsyslogd,26016 -n
      │   ├─{rsyslogd},26043
      │   └─{rsyslogd},26044
      └─systemd-journal,25962

E o processo declara:

$ ps aux | grep -P '24434|24446|25258|25846|25878|25906|25934|25934|26016|26043|26044|25962'
oli      24434  0.0  0.0  43400  3552 ?        Ss   10:56   0:00 [lxc monitor] /home/oli/.local/share/lxc dl
100000   24446  0.0  0.1  36896  4972 ?        Ss   10:56   0:00 /lib/systemd/systemd --system --deserialize 9
100000   25258  0.0  0.0  15676  2504 pts/0    Ss+  10:56   0:00 /sbin/agetty --noclear --keep-baud console 115200 38400 9600 vt220
100000   25846  0.0  0.0  15676  2496 pts/1    Ss+  11:33   0:00 /sbin/agetty --noclear --keep-baud pts/1 115200 38400 9600 vt220
100000   25878  0.0  0.0  15676  2380 pts/3    Ss+  11:33   0:00 /sbin/agetty --noclear --keep-baud pts/3 115200 38400 9600 vt220
100000   25906  0.0  0.0  15676  2416 pts/2    Ss+  11:33   0:00 /sbin/agetty --noclear --keep-baud pts/2 115200 38400 9600 vt220
100000   25934  0.0  0.0  15676  2332 pts/0    Ss+  11:33   0:00 /sbin/agetty --noclear --keep-baud pts/0 115200 38400 9600 vt220
100000   25962  0.0  0.0  35256  3500 ?        Ss   11:33   0:00 /lib/systemd/systemd-journald
100104   26016  0.0  0.0 182640  3244 ?        Ssl  11:33   0:00 /usr/sbin/rsyslogd -n
    
por Oli 09.12.2015 / 14:11

2 respostas

0

Forçar a eliminação do processo systemd do contêiner funcionou para mim.

No seu exemplo,

kill -9 24446
    
por HRJ 28.11.2016 / 10:05
0

Eu mantenho essa linha de comando para matar rapidamente todos os processos com um UID muito alto (que estão no meu contêiner):

ps -ef | grep "^100[0-9][0-9][0-9]" | tr -s " " | cut -f2 -d " " | xargs -I {} kill -9 {}

Então eu posso usar lxc-start novamente.

Também descobri que tenho menos problemas com lxc-stop quando uso lxc-start -d (em modo de segundo plano) e depois conecto usando lxc-attach ou ssh .

    
por antoineMoPa 01.09.2017 / 18:17

Tags