Похоже, вы используете xvfb-run
только для его функции - auto-servernum
.
Как заметил @meuh: эта логика на самом деле довольно проста :
# Copyright (C) 2005 The T2 SDE Project
# Copyright (C) XXXX - 2005 Debian
# GNU GPLv2
find_free_servernum() {
# Sadly, the "local" keyword is not POSIX. Leave the next line commented in
# the hope Debian Policy eventually changes to allow it in /bin/sh scripts
# anyway.
#local i
i=$SERVERNUM
while [ -f /tmp/.X$i-lock ]; do
i=$(($i + 1))
done
echo $i
}
Определив эту функцию: вы можете попробовать такой вызов вместо использования xvfb-run
:
Xvfb :$(find_free_servernum) -screen 0, 1024x768x16 firefox $1 &
THE_PID=$!
# kill Xvfb whenever you feel like it
kill -15 $THE_PID
После удаления xvfb-run
: нам больше не нужно беспокоиться о том, как убить xvfb-запустить
.