То, как установить процесс, не будет завершено, когда терминал остановится

Поместить -mapall=user в Ваш exports файл.

Посмотрите man exports для деталей

2
26.05.2014, 12:33
4 ответа
[1180824]Я хотел дать возможность команде kill с каким-то определенным сигналом, но не нашел и не нашел нужного сигнала для этого. Я бы сказал, что вы не можете сделать это со встроенными средствами. Однако есть люди, которые написали код:

Как я могу отключить запущенный процесс и связать его с новой оболочкой экрана?

2
27.01.2020, 21:50
[1180838]К нему можно прикрепить отладчик, чтобы заставить процесс игнорировать сигнал SIGHUP:

(где [1181132]$pid[1181133] - это id этого процесса). Вы также можете расширить его, чтобы перенаправить его stdout/stdin/stderr..., но тогда вы можете также посмотреть другие вопросы, на которые здесь ссылаются о перенаправлении процесса на другой терминал (или [1181134] ищите [1181318]reptyr[1181319] на этом сайте[1181135]).

Другой вариант - это приостановить процесс, который назначил и управляет псевдотерминалом, который управляет вашим java-процессом. Таким образом, он не погибнет, даже если соединение по ssh будет прервано, и пока java не будет много писать в терминал, это не повлияет на него.

Здесь тест с [1181136] сна [1181137] процесс:

Теперь завершите ssh-клиент, затем [1181138] сна [1181139] все еще работает:

Вы захотите возобновить, что [1181140] sshd [1181141] после того, как ваш java-процесс завершился, так что он может выйти чисто. [1180849].

4
27.01.2020, 21:50
[1188127] В вашем случае, лучший способ сделать это - использовать

tmux

или

  • экран
  • Вот пример, как вы можете использовать [1188549]tmux[1188550], экран практически тот же самый.
  • Засуньте на ваш сервер
  • установите tmux, используя ваш любимый менеджер пакетов

и начните новый сеанс tmux: [1188874]tmux

запустите ваше приложение внутри tmux окна, например: [1188876]java -jar bla bla

отсоедините вашу сессию tmux, нажав [1188878]CTRL-B

D

в следующий раз, когда вы захотите проверить java процесс (то же самое окно шпаклевки или с другой машинной шпаклевки): [1188882]tmux atta

2
27.01.2020, 21:50
[1188139] Поскольку Ваша команда уже запущена, Вам необходимо нажать [1188568]CTRL-Z [1188569], что приведет ее в состояние остановки, программа не запущена, но состояние программы сохранено и может быть восстановлено в любое время, когда Вы захотите.

Вы можете проверить, какое задание имеет ваша программа, выполнив команду [1188570] jobs[1188571]. Как только вы определили его, вы можете выполнить [1188572] bg %your_prog_id[1188573], который отправит вашу программу в фоновом режиме и будет продолжать работать, даже если вы закроете свой сеанс, теперь вы можете выйти, и ваша программа будет продолжать работать. [1188142].

1
27.01.2020, 21:50

Теги

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