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