Код выхода процесса кипариса даст вам количество неудачных тестов:
npm run cypress
# ... cypress runs...
echo $? # print number of failed tests
Или для Windows cmd: напечатать код выхода в cmd в Windows OS [113 ]
Похоже, ваша программа прослушивает сокет. Обычно, когда ваша программа выходит, ОС закрывает все сокеты, которые могут быть открыты (включая сокеты прослушивания). Однако для прослушивания сокетов ОС обычно резервирует порт на некоторое время (несколько минут) после выхода из программы, чтобы она могла обрабатывать любые невыполненные попытки подключения. Вы можете заметить, что если вы неправильно завершили свою программу, а затем вернулись через некоторое время, она запустилась просто отлично.
Если вы хотите избежать этого времени задержки, вы можете использовать setsockopt ()
для настройте сокет с параметром SO_REUSEADDR. Это говорит ОС, что вы знаете, что можно повторно использовать тот же адрес, и вы не столкнетесь с этой проблемой.
Вы можете установить эту опцию в Java с помощью ServerSocket.setReuseAddress (true)
метод.
Вы хотите установить флаг SO_REUSEADDR на сокете
См. http://java.sun.com/j2se/1.4.2/docs/api/java/net/ServerSocket.html#setReuseAddress ( boolean)
Операционная система должна обрабатывать такие вещи автоматически после завершения процесса JVM. Однако может быть небольшая задержка до закрытия порта.
Как упоминалось в Обработка аварийных выходов из программы Java , вы можете установить Runtime Метод .addShutdownHook () для работы с любым частным случаем, если ему действительно требуется явная операция.