I found by experimentation that killing (SIGTERM) the first vmlinux
process only kills part of a UML virtual machine.  There are still
vmlinux processes (or threads?) running.

Compare the process listings below before and after sending the
SIGTERM signal to the head process (25356).

Is there a way to reliably kill a single UML VM?  Note that "killall
vmlinux" isn't a suitable answer because I don't want to kill every
UML instance on the host.  Also using process groups is difficult
because it stops ^C (in the parent process) from killing the VM.

I'm thinking perhaps naming the processes using umid=<unique> and
iterating over the process table ...

Rich.

Before:

25356 pts/4    S      0:01 /home/rjones/d/linux/vmlinux mem=500M 
initrd=/home/rjones/d/libguestfs/tmp/.guestfs-1000/initrd.25291 init=/init 
guestfs_noreboot=1 rw panic=1 TERM=xterm-256color selinux=0 ubd0=/tmp/test1.img 
ubd1=/home/rjones/d/libguestfs/tmp/libguestfsUtAePE/cow0 root=/dev/ubdb 
ssl3=fd:6 guestfs_channel=/dev/ttyS3
25364 pts/4    S      0:00 /home/rjones/d/linux/vmlinux mem=500M 
initrd=/home/rjones/d/libguestfs/tmp/.guestfs-1000/initrd.25291 init=/init 
guestfs_noreboot=1 rw panic=1 TERM=xterm-256color selinux=0 ubd0=/tmp/test1.img 
ubd1=/home/rjones/d/libguestfs/tmp/libguestfsUtAePE/cow0 root=/dev/ubdb 
ssl3=fd:6 guestfs_channel=/dev/ttyS3
25365 pts/4    S      0:00 /home/rjones/d/linux/vmlinux mem=500M 
initrd=/home/rjones/d/libguestfs/tmp/.guestfs-1000/initrd.25291 init=/init 
guestfs_noreboot=1 rw panic=1 TERM=xterm-256color selinux=0 ubd0=/tmp/test1.img 
ubd1=/home/rjones/d/libguestfs/tmp/libguestfsUtAePE/cow0 root=/dev/ubdb 
ssl3=fd:6 guestfs_channel=/dev/ttyS3
25366 pts/4    S      0:00 /home/rjones/d/linux/vmlinux mem=500M 
initrd=/home/rjones/d/libguestfs/tmp/.guestfs-1000/initrd.25291 init=/init 
guestfs_noreboot=1 rw panic=1 TERM=xterm-256color selinux=0 ubd0=/tmp/test1.img 
ubd1=/home/rjones/d/libguestfs/tmp/libguestfsUtAePE/cow0 root=/dev/ubdb 
ssl3=fd:6 guestfs_channel=/dev/ttyS3
25367 pts/4    t      0:00 /home/rjones/d/linux/vmlinux mem=500M 
initrd=/home/rjones/d/libguestfs/tmp/.guestfs-1000/initrd.25291 init=/init 
guestfs_noreboot=1 rw panic=1 TERM=xterm-256color selinux=0 ubd0=/tmp/test1.img 
ubd1=/home/rjones/d/libguestfs/tmp/libguestfsUtAePE/cow0 root=/dev/ubdb 
ssl3=fd:6 guestfs_channel=/dev/ttyS3
25388 pts/4    t      0:00 /home/rjones/d/linux/vmlinux mem=500M 
initrd=/home/rjones/d/libguestfs/tmp/.guestfs-1000/initrd.25291 init=/init 
guestfs_noreboot=1 rw panic=1 TERM=xterm-256color selinux=0 ubd0=/tmp/test1.img 
ubd1=/home/rjones/d/libguestfs/tmp/libguestfsUtAePE/cow0 root=/dev/ubdb 
ssl3=fd:6 guestfs_channel=/dev/ttyS3
25437 pts/4    t      0:00 /home/rjones/d/linux/vmlinux mem=500M 
initrd=/home/rjones/d/libguestfs/tmp/.guestfs-1000/initrd.25291 init=/init 
guestfs_noreboot=1 rw panic=1 TERM=xterm-256color selinux=0 ubd0=/tmp/test1.img 
ubd1=/home/rjones/d/libguestfs/tmp/libguestfsUtAePE/cow0 root=/dev/ubdb 
ssl3=fd:6 guestfs_channel=/dev/ttyS3

After:

25364 pts/4    S      0:00 /home/rjones/d/linux/vmlinux mem=500M 
initrd=/home/rjones/d/libguestfs/tmp/.guestfs-1000/initrd.25291 init=/init 
guestfs_noreboot=1 rw panic=1 TERM=xterm-256color selinux=0 ubd0=/tmp/test1.img 
ubd1=/home/rjones/d/libguestfs/tmp/libguestfsUtAePE/cow0 root=/dev/ubdb 
ssl3=fd:6 guestfs_channel=/dev/ttyS3
25365 pts/4    S      0:00 /home/rjones/d/linux/vmlinux mem=500M 
initrd=/home/rjones/d/libguestfs/tmp/.guestfs-1000/initrd.25291 init=/init 
guestfs_noreboot=1 rw panic=1 TERM=xterm-256color selinux=0 ubd0=/tmp/test1.img 
ubd1=/home/rjones/d/libguestfs/tmp/libguestfsUtAePE/cow0 root=/dev/ubdb 
ssl3=fd:6 guestfs_channel=/dev/ttyS3
25366 pts/4    S      0:00 /home/rjones/d/linux/vmlinux mem=500M 
initrd=/home/rjones/d/libguestfs/tmp/.guestfs-1000/initrd.25291 init=/init 
guestfs_noreboot=1 rw panic=1 TERM=xterm-256color selinux=0 ubd0=/tmp/test1.img 
ubd1=/home/rjones/d/libguestfs/tmp/libguestfsUtAePE/cow0 root=/dev/ubdb 
ssl3=fd:6 guestfs_channel=/dev/ttyS3



-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to