Package: schroot Version: 1.4.15-1 Tags: patch /etc/schroot/setup.d/15killprocs has a loop that runs ‘readlink /proc/"$pid"/root’ for every process in the system. I have a system with thousands of processes, and this loop makes schroot take about a minute to close a chroot. I changed it to use the builtin -ef operator; now it takes about a second.
Anders -- 8< -- From: Anders Kaseorg <ande...@ksplice.com> Subject: [PATCH] setup.d: 15killprocs: Don’t run /bin/readlink for every process On a system with thousands of processes, this loop took about a minute; now it takes about a second. Signed-off-by: Anders Kaseorg <ande...@ksplice.com> --- etc/setup.d/15killprocs | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/etc/setup.d/15killprocs b/etc/setup.d/15killprocs index 88b9320..619035e 100755 --- a/etc/setup.d/15killprocs +++ b/etc/setup.d/15killprocs @@ -40,8 +40,7 @@ do_kill_all() info "Killing processes run inside $1" ls /proc | egrep '^[[:digit:]]+$' | while read pid; do - root=$(readlink /proc/"$pid"/root || true) - if [ "$root" = "$1" ]; then + if [ /proc/"$pid"/root -ef "$1" ]; then exe=$(readlink /proc/"$pid"/exe || true) info "Killing left-over pid $pid (${exe##$1})" info " Sending SIGTERM to pid $pid" -- 1.7.3.3 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org