標題說明了一切。pgrep Xvfb
只成功了一半。它不會告訴我顯示號碼。
答案1
我不確定您想要完成什麼,但您可以透過執行「x display info」來檢查 X Display 是否可用:
xdpyinfo -display :0 >/dev/null 2>&1 && echo "In use" || echo "Free"
注意:如果您無法存取顯示器,它也會被報告為“免費”。另一種方法是檢查是否存在/tmp/.X0-lock
包含 X 伺服器的 PID 檔案。
一種更可靠的方法是檢查與二進位檔案相符的進程,而不是顯示命令:
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