Как запустить удаленную команду Linux, которая не остановится после закрытия оболочки


-1

Есть команда терминала Linux, которую я хочу запустить на удаленной машине. Я могу подключиться к машине по ssh и начать выполнение команды (ее вывод направляется в выходной файл); однако, как только я закрываю соединение ssh и закрываю окно терминала, команда останавливается. Как я могу продолжить выполнение команды даже после выхода из удаленного компьютера?


Обычно это не так, как работает linux ... Команда будет продолжать работать на «сервере» даже после отключения от ssh ... Не могли бы вы описать, какой у вас дистрибутив linux, и какую команду вы пытаетесь запустить?
Просто повезло на самом деле

Это машина RedHat, и команда выполняет программу Java. Сама команда не будет иметь большого смысла для вас, потому что она проприетарна.
Nosrettap

Вы пробовали добавить амперсанд после команды? Пример:runThis -params &
Просто повезло на самом деле

Я немного подумал, и мне было интересно, является ли команда, которую вы пытаетесь выполнить, «терминальной» командой. Так, например, если я ssh на сервер и использую vi filename, это не будет работать на сервере. Мне никогда не приходилось обходить эту проблему, но с небольшим количеством Google, похоже, это nohupможет помочь
Just Lucky Really

1
Вы пробовали nohup и удваивать фон? Кроме того, «отсоедините» дескрипторы stdout и stderr. Запустите его так: ((nohup mycommand 1> / dev / null 2> & 1) &)
SadBunny

Ответы:


1

Я рекомендую использовать экран . Со страницы руководства:

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

Альтернативой является nohup .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.