Лучший тест, чтобы видеть, принимает ли сервер соединения, должен на самом деле попытаться соединиться. Используйте постоянный клиент для любого протокола, который говорит Ваш сервер, и не попробуйте никакую-op команду.
Если Вы хотите легкий TCP или клиент UDP, можно управлять просто от оболочки, использовать netcat. То, как программировать разговор, зависит от протокола; много протоколов имеют сервер близко соединение на определенном входе, и netcat затем выйдет.
while ! echo exit | nc localhost 13000; do sleep 10; done
Можно также сказать netcat выходить после установления соединения. Это возвращается 1, если нет никакого соединения и 0, если существует так, мы инвертируем его вывод. В зависимости от Вашей версии netcat это может поддерживать один или обе из следующих команд:
while ! nc -z localhost 13000
Альтернативный подход должен ожидать серверного процесса для открытия сокета слушания.
while netstat -lnt | awk '$4 ~ /:13000$/ {exit 1}'; do sleep 10; done
Если бы Вы находитесь на Mac OS, netstat использует немного отличающийся выходной формат, таким образом, Вы хотели бы следующее вместо этого:
while netstat -lnt | awk '$4 ~ /\.13000$/ {exit 1}'; do sleep 10; done
Или Вы могли бы хотеть быть нацеленными на определенный идентификатор процесса:
while ! lsof -n -Fn -p $pid | grep -q '^n.*:13000$'; do sleep 10; done
Я не могу думать ни о каком способе реагировать на процесс, начинающий слушать сокет (который избежал бы подхода опроса) за исключением использования ptrace
.
Добавьте что-то как "vga=792"
к строке ядра в Вашем grub.conf
файл, обычно располагаемый в /etc
или /boot/grub
:
title My Linux OS Name and Kernel Version Number
root (hd0,0)
kernel /boot/vmlinuz-1.2.3.4 ro root=/dev/hda1 quiet vga=792
initrd /boot/initrd-1.2.3.4.img
Можно сказать vga=ask
вместо этого, чтобы заставить меню на начальной загрузке, созданной из процесса зондирования, выполненного ядром видеть, какие разрешения, вероятно, будут работать. Я нахожу, что часто существуют другие числа, которые будут работать, который не находит этот метод.
Это является все определенным для системы. Различные видеокарты будут иметь различные поддерживаемые режимы, и опции сборки ядра могут открыться или закрыть опции режима видео. Подсистему, которая имеет дело с этим, называют кадровым буфером ядра, поэтому при компиляции пользовательских ядер, бояться удалять поддержку ядро должно полностью поддерживать видеокарту. Большинство карт может использовать драйвер FB VESA, но другой драйвер, характерный для Вашего бренда карты, мог бы открыть больше опций.
Кроме того, остерегайтесь этого, некоторые части этой подсистемы используют шестнадцатеричные числа и десятичное число других. Можно сделать преобразование в десятичное число, поскольку я сделал, или можно сказать что-то как "vga=0x318"
вместо этого.