Название говорит само за себя. pgrep Xvfb
делает только половину трюка. Он не скажет мне номер дисплея.
решение1
Я не совсем понимаю, чего вы пытаетесь добиться, но вы можете проверить, доступен ли X Display, выполнив команду «x display info»:
xdpyinfo -display :0 >/dev/null 2>&1 && echo "In use" || echo "Free"
Примечание: если вы не можете получить доступ к дисплею, он также будет отмечен как "Free". Другой способ - проверка существования , /tmp/.X0-lock
который содержит PID-файл X-сервера.
Вместо отображения команды более надежным способом была бы проверка процессов, соответствующих двоичному файлу:
pids=$(pidof /usr/bin/Xvfb)
if [ -n "$pids" ]; then
processes="$(ps --format command --no-headers -ww --pid $pids)"
else
echo "Not running"
fi
Источник:https://github.com/Bumblebee-Project/Bumblebee/blob/master/install-files/common-functions#L112