Запуск игрового сервера из bash без ожидания ввода

Решение, отправленное Stu Thompson, допустимо в Java5.0 и позже. Но я предпочел бы не использовать его, потому что я думаю, что это подвержено ошибкам.

легко забыть энергозависимый оператор и трудный понять, почему это необходимо. Без энергозависимого этот код больше не был бы ориентирован на многопотоковое исполнение из-за перепроверяемого антишаблона блокировки. Посмотрите больше об этом в абзаце 16.2.4 Параллелизм Java на практике . Короче говоря: Этот шаблон (до Java5.0 или без энергозависимого оператора) мог возвратить ссылку на объект Панели, который находится (все еще) в неправильном состоянии.

Этот шаблон был изобретен для оптимизации производительности. Но это больше - действительно не реальное беспокойство. Следующий ленивый код инициализации быстр и - что еще более важно, легче читать.

class Bar {
    private static class BarHolder {
        public static Bar bar = new Bar();
    }

    public static Bar getBar() {
        return BarHolder.bar;
    }
}

1
задан 18.05.2020, 16:36

2 ответа

Поскольку samp03svr выходной текст, необходимо перенаправить вывод к пустому указателю

 ./samp03svr > /dev/null 2>&1 &
0
ответ дан 18.05.2020, 16:37

Можно ли вставить этот сценарий где-нибудь или часть сценария, где это пытается считать клавишу ENTER.

Также попытка это, принимая его ожидающий новой строки:

./samp03svr < < < echo &

0
ответ дан 18.05.2020, 16:36
  • 1
    Я думаю, что хранение находится в samp03svr, но тот файл соответствуется, так как это - двоичный файл сервера. I' ve обновил сообщение с большим отрывком кода запуска в моем сценарии и точном сообщении его удерживание. – Market Queue 18.05.2020, 16:37

Теги

Похожие вопросы