LINUX.ORG.RU

запускать через ssh screen или tmux. Если их функционал избыточен и нужна только функция подключения или отключения от сессии без её закрытия - dtach.

Jameson ★★★★★
()
Ответ на: комментарий от voltmod

А если уже запущена, то никак, наверное. Надо было изначально пускать «в фоне».

Zhbert ★★★★★
()

Я запустил команду, жму ctrl-z, прлоцесс переходит в вон, но после разлогина он завершается

voltmod ★★
() автор топика
Ответ на: комментарий от pinus_nigra

Ну вот после того как завершился - можешь рестартовать в screen/tmux

если бы я заранее знал, что мне надо запустить команду в скрин, я так бы и сделал. Речь про уже запущенную команду.

voltmod ★★
() автор топика
Ответ на: комментарий от pinus_nigra

Ну тут я мог ошибиться, да. Мне казалось, что амперсанд и там работает так же.

Zhbert ★★★★★
()
Ответ на: комментарий от voltmod

если бы я заранее знал, что мне надо запустить команду в скрин, я так бы и сделал. Речь про уже запущенную команду.

ЕМНИП уже запущенную команду от терминала отцепить не получится без менеджера сеансов этого самого терминала.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)
Ответ на: комментарий от untitl3d

Я запускаю программы с &

А он запустил без &. И спрашивает, можно ли теперь её от терминала отцепить без её завершения. Суть в этом, есть такой способ, или нет.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)
Ответ на: комментарий от Jameson

Нет, он говорит, что запустил, разлогинился, завершил и теперь запустил ещё раз. Упорный.

pinus_nigra
()

Короче разобрался сам, нужная команда disown

voltmod ★★
() автор топика
Ответ на: комментарий от Zhbert

Я буду отрицать. Амперсанд означает только то, что шелл не будет ждать её завершения, на привязки к терминалу (их целых три разных: управляющий терминал, stdin и stdout/stderr) он никак не влияет. Если выход из баша был через ctrl+d или exit - баш как-то отсоединит процесс от упр. терминала (а вот если был просто разрыв соединения то уже не факт), но не от stdin/out/err. Если же процесс захочет что-то написать в stdout/stderr то broken pipe и вылет, и с этим задним числом ничего вообще не поделать (ну кроме влезания в процесс отладчиком и перенаправления ему fd1/fd2), а заранее надо >> logfile 2>&1. stdin обычно опасен наоборот пока соединение есть - фоновый процесс, пытающийся прочесть что-то из своего терминала, отправляется в suspend (с соотв. логом в тот терминал).

firkax ★★★★★
()
Ответ на: комментарий от firkax

Хорошо, был неправ. Спасибо, что пояснил.

Zhbert ★★★★★
()
Ответ на: комментарий от pinus_nigra

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

t184256 ★★★★★
()

Если баш, то попробуй:

$ your-command & disown

Или:

$ your-command
^Z
$ bg
$ disown

Но если твоя команда пользует stdin/stdout/sdterr, то не поможет.

debugger ★★★★★
()
Последнее исправление: debugger (всего исправлений: 2)
Ответ на: комментарий от debugger

Но если твоя команда пользует stdin/stdout/sdterr, то не поможет.

Да я понял. Видимо тут только исходники баша править, либо какой-то другой шелл использовать.

voltmod ★★
() автор топика

Хотя гугл говорит, что можно использовать reptyr

voltmod ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.