我像这样运行 qemu:
$ sudo qemu -boot d -m 1024 \
-netdev tap,id=tap0 \
-device virtio-net-pci,netdev=tap0,id=vth0 \
-drive file=ubuntu.iso,media=cdrom,cache=none,if=ide \
-monitor pty \
-serial pty \
-parallel none \
-nographic
当我检查时/dev/pts/
:
$ sudo lsof +d /dev/pts/
Qemu pty 没有出现,尽管它们确实可以使用例如:
$ sudo screen /dev/pts/8
我如何找出哪些 pty 来自哪个 qemu?
答案1
virsh
您可以使用一些脚本来这样做:
$ for i in `virsh list | awk '{print $2}' | egrep -v "^$|Name"`; do
printf "%-14s:%s\n" $i $(virsh ttyconsole $i | grep -v "^$");
done
cobbler :/dev/pts/1
xwiki :/dev/pts/3
fan :/dev/pts/4
mercury :/dev/pts/5
mungr :/dev/pts/0
win2008R2-01 :/dev/pts/7
顺便说一下,通过命令创建相同的虚拟机lsof
:
$ lsof|grep qemu|grep ptmx
qemu-kvm 3796 root 14u CHR 5,2 0t0 993 /dev/ptmx
qemu-kvm 3895 root 14u CHR 5,2 0t0 993 /dev/ptmx
qemu-kvm 3972 root 14u CHR 5,2 0t0 993 /dev/ptmx
qemu-kvm 4294 root 15u CHR 5,2 0t0 993 /dev/ptmx
qemu-kvm 11897 root 14u CHR 5,2 0t0 993 /dev/ptmx
qemu-kvm 16250 root 15u CHR 5,2 0t0 993 /dev/ptmx
它看起来不像他们正在使用lsof
的节目pty
,只是他们正在使用ptmx
.请参阅ptmx 手册页了解更多信息。
参考
左侧是虚拟机的名称,右侧是pts
.