Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Dec 2004 14:57:34 +0100
From:      Jilles Tjoelker <jilles@stack.nl>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        arch@freebsd.org
Subject:   Re: Forcefully unmounting devfs...
Message-ID:  <20041222135734.GA57242@stack.nl>
In-Reply-To: <20041221232354.GA28374@xor.obsecurity.org>
References:  <84301.1103663813@critter.freebsd.dk> <41C89672.3000808@freebsd.org> <20041221232354.GA28374@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Dec 21, 2004 at 03:23:54PM -0800, Kris Kennaway wrote:
> Unfortunately that's going to cause me a fair amount of pain, unless
> there's a simple way to kill all processes running in a given chroot

Not that hard, although it is a bit tricky because command names may
contain spaces, so something obvious like this does not work in the
general case:

fstat /chroot |awk '$4 == "root" { print $3 }'

But the following seems more reliable, assuming the mount points do not
contain spaces:

#!/bin/sh

# USER     CMD          PID   FD MOUNT      INUM MODE         SZ|DV R/W NAME
# jilles   zsh        57711 root /             2 drwxr-xr-x    1024  r  /

D="$1"
fstat "$D" | sed -Ene 's#^.* +([[:digit:]]+) +root +/[^ ]* +[[:digit:]]+ +.......... +[[:digit:]]+ +(r|rw|w) +'"$D"'$#\1#p'

This would need some |xargs kill or similar.

-- 
Jilles Tjoelker



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041222135734.GA57242>