Как сказал Box9, Forever - хороший выбор для производственного кода. Но также возможно поддерживать процесс, даже если SSH- соединение закрыто от клиента.
Хотя это не обязательно хорошая идея для производства, это очень удобно, когда вы находитесь в середине длительных сеансов отладки, или для отслеживания вывода на консоль длинных процессов, или всякий раз, когда полезно отключить ваше соединение SSH, но поддерживать терминал на сервере. подключиться позже (например, запустить приложение Node.js дома и подключиться к консоли позже на работе, чтобы проверить, как идут дела).
Предполагая, что ваш сервер - * nix box, вы можете использовать команду screen из оболочки, чтобы сохранить процесс работающим, даже если клиентский SSH закрыт. Вы можете загрузить / установить экран из Интернета, если он еще не установлен (найдите пакет для вашего дистрибутива, если Linux, или используйте MacPorts, если OS X).
Это работает следующим образом:
- Когда вы впервые открываете соединение SSH, введите «screen» - это запустит сеанс экрана.
- Начните работать как обычно (т.е. запустите приложение Node.js)
- Когда вы закончите, закройте свой терминал. Ваш серверный процесс (ы) продолжит работу.
- Для повторного подключения к вашей консоли, ssh вернитесь на сервер, войдите в систему и введите «screen -r» для повторного подключения. Ваш старый контекст консоли снова откроется, и вы сможете возобновить его использование.
- Чтобы выйти из экрана, когда он подключен к серверу, введите «exit» в командной строке консоли, и вы попадете в обычную оболочку.
При необходимости вы можете запустить несколько сеансов экрана одновременно, как это, и вы можете подключиться к любому из них с любого клиента. Прочитайте документацию онлайн для всех вариантов.