我有一个新的非特权 LXC 容器,我似乎无法停止它。lxc-stop -n dl
挂起。lxc-stop -k --nolock -n dl
挂起。lxc-ls
挂起。lxc-attach -n dl
挂起。这个容器上什么都不起作用。
我已经重新启动了lcxfs
。这样做只会扰乱特权容器。这就是此容器的当前进程的样子(从主机来看)。
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
流程如下:
$ 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
答案1
强制终止容器的systemd
进程对我有用。
在你的例子中,
kill -9 24446
答案2
我保留此命令行来快速终止所有具有非常高 UID 的进程(它们在我的容器中):
ps -ef | grep "^100[0-9][0-9][0-9]" | tr -s " " | cut -f2 -d " " | xargs -I {} kill -9 {}
然后我就可以lxc-start
再次使用。
我还发现,lxc-stop
当我使用lxc-start -d
(在后台模式下)然后使用lxc-attach
或连接时,遇到的问题较少ssh
。