Как запустить приложение из терминала навсегда? [Дубликат]

На этот вопрос уже есть ответ: Выполнение программ в фоновом режиме с терминала 8 ответов

Я запускаю веб-сервер jenkins с помощью команды java -jar jenkins.war. Он отлично работает. Когда я закрываю терминал, приложение останавливается.

Как заставить его работать, даже если я закрываю сеанс терминала?

1
задан 12 December 2013 в 22:45

4 ответа

Установите экран. В терминальном типе screen, а затем запустите приложение. Нажмите CTRL+A,CTRL+D, чтобы отключить экран и введите экран терминала -r для повторного подключения. Вы можете связаться с вами через ssh и т. Д. ...

apt-get install screen
3
ответ дан 24 May 2018 в 14:11

Использовать nohup

No Hang Up. Запустите команду, не зависящую от зависания, запустив данную команду с игнорируемыми сигналами оберкивания, чтобы команда продолжала работать в фоновом режиме после выхода из системы. ManPage

nohup Command &

В этом случае это будет 5]

nohup java -jar jenkins.war &
2
ответ дан 24 May 2018 в 14:11

Если вы часто начинаете службу, например, Дженкинс, которую вы хотите запустить в фоновом режиме, а не закрывать, когда вы заканчиваете сеанс, вам следует рассмотреть возможность реализации сценария инициализации. Посмотрите на сценарии в /etc/init.d/ для примеров. Это короткие сценарии оболочки, которые позволяют вам делать такие вещи, как service httpd start и service httpd stop и даже service httpd status, чтобы узнать, запущен ли httpd, или если он должен работать, но это не так.

[d1 ] Существует отличный пример скрипта для службы Hudson, который очень похож на Jenkins (они являются родственными вилками одной и той же кодовой базы): https://wiki.jenkins-ci.org/display/JENKINS/HudsonUbuntuLinuxStartupScript[!d1 ]
1
ответ дан 24 May 2018 в 14:11

добавить & после вашей команды, я имею в виду

java -jar jenkins.war &
0
ответ дан 24 May 2018 в 14:11
  • 1
    могу я знать, почему downvote? – Ten-Coin 12 December 2013 в 22:28
  • 2
    Вероятно, потому что в современных оболочках, если вы не выполняете nohup (или disown процесс после этого), он будет убит, когда оболочка выйдет. – Rmano 12 December 2013 в 22:41
  • 3
    Я тестировал firefox из терминала, прежде чем отправил свой ответ здесь. – Ten-Coin 12 December 2013 в 22:44
  • 4
    Вероятно, firefox игнорирует SIGHUP изначально --- не знаю. Я попытался с sleep, и он ушел из оболочки. – Rmano 12 December 2013 в 22:57
  • 5
    @rajagenupula Когда вы набираете firefox с консоли, вы запускаете скрипт, который позже запускает двоичный файл firefox отдельно от вашей консоли. Для большинства команд этот шаг не является автоматическим. – Sparr 14 December 2013 в 01:49

Другие вопросы по тегам:

Похожие вопросы: