Назад | Перейти на главную страницу

Процесс, работающий в фоновом режиме, был убит в Linux

У меня есть удаленный сервер, к которому я подключаюсь по ssh. Я запустил процесс (mongodb) на сервере, используя следующую команду: «/ usr / bin / mongod --dbpath / mnt / ebs-300 / mongodb --logpath /mnt/ebs-300/log/mongodb/mongodb.log run --config /etc/mongodb.conf & "

Поскольку к команде добавляется символ «&», этот процесс выполняется в фоновом режиме. После запуска процесса и проверки его работы я выхожу из теминала (ssh). Этот процесс был прерван через некоторое время из-за печати следующих журналов - «получил kill или ctrl c или hup signal 1 (Hangup), завершится после завершения текущего cmd»

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

Спасибо!!

Я бы посоветовал, хотя '&' запускает команду в фоновом режиме, когда вы выходите из своего терминала, он все равно отправляется SIGHUP. Вы можете использовать отречься команда

disown предотвращает отправку текущей оболочкой сигнала HUP каждому из заданных заданий, когда текущая оболочка завершает сеанс входа в систему.

Если задание не указано, используется последнее запущенное или остановленное фоновое задание.

Ответ Рори в порядке, но добавив --fork пометить свой mongod вызов также будет поддерживать его работу в фоновом режиме.

Вот для чего нужен nohup!

Если он существует в вашем дистрибутиве, это простой способ, плюс он позволяет вам вести файл журнала.