Ubuntu

如何確定哪些 pty 來自哪個 qemu?

  • January 19, 2014

我正在像這樣執行 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?

您可以通過這種方式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.

引用自:https://unix.stackexchange.com/questions/81408