Право Вы можете использовать lsb_release-a или можете быть:
cat /etc/issue; uname -a
Лучший способ состоит в том, чтобы использовать screen
(на сервере) для запуска сессии, чтобы выполнить команду в и затем разъединить экран, таким образом, это будет продолжать бежать, и можно сделать другие вещи или просто разъединиться с сервера. Другая опция состоит в том, чтобы использовать nohup
в сочетании с &
таким образом, Вы имели бы nohup <command> &
Можно также использовать disown
если Вы уже запустили процесс без screen
или nohup
Если Вы фон, процесс и закрыл Ваш сеанс процесс, будете приняты init (PID 1).
Если я имею сессию и делаю:
]$ sleep 10000 &
]$ exit
и откройте другую сессию и работайте:
]$ ps -ef | grep sleep
501 26387 1 0 16:37 ? 00:00:00 sleep 10000
root 26422 21360 0 16:40 pts/0 00:00:00 grep sleep
Мой процесс все еще работает, и мы видим, что его родительский процесс теперь 1 (init).
Кроме того, Вы могли настроить свой сценарий как Вы, будет демон. Быстрый поиск поднимает эту на вид полезную ссылку: http://onlamp.com/python/pythoncook2/solution.csp?day=1. Если Вы хотели проявить тот подход.
Существующие ответы могут работать хорошо, но мне нужно что-то для BusyBox (оболочка и набор инструментов для минимального оборудования, такого как домашние маршрутизаторы). В моей системе нет screen
, dtach
, at
, disown
или даже nohup
! Итак, благодаря tbc0 на SO ( ссылка ), я нашел этот драгоценный камень. Он немедленно возвращается, но процесс сервера продолжает работать:
ssh myserver 'sleep 100 >&- 2>&- <&- &'
Или, если требуется несколько команд:
ssh myserver '(echo one; sleep 100; echo two; sleep 200) >&- 2>&- <&- &'
Пояснение:
> & -
- закрыть дескриптор стандартного вывода 2> & -
- закрыть stderr <& -
- закрыть stdin &
- поместить процесс в фоновый режим При этом не используются внешние программы и он должен работать с ksh, ash, оболочкой Bourne, bash и т. д.
screen -r
воссоединит Вас. – dpflug 20 August 2010 в 00:41