tmux сесията се затваря, когато ssh терминалът се затвори

Какво се опитвам да направя: Опитвам се да изпълня няколко bash команди на отдалечена машина с помощта на ssh и искам тези команди да завършат изпълнението дори след ssh-сесията затворен по средата на изпълнението.

Какво направих досега: Използвам Putty, за да се свържа с ssh (една от причините да използвам putty е, че една машина е Windows, а отдалечената машина е mac-os и имам нужда от някакъв начин да инициирам ssh чрез команда на Python). Предавам файла command.txt и той съдържа всички команди, които искам да изпълня.

putty -ssh [email protected] -m command.txt ( not real ip)

command.txt: изглежда така:

export PATH=$PATH:/usr/local/bin
echo $PATH; sleep 1
tmux -c 'queue.sh'
sleep 100

След като се свържа с ssh, за да се уверя, че моят скрипт/команди продължават да се изпълняват на отдалечена машина дори след като ssh-сесията е затворена на друга машина, използвам 'tmux'

Но проблемът е: Дори след използване на tmux, процесите, извикани от queue.sh, прекратяват веднага щом затворя ssh-сесия.

Аз също съм опитвал

export PATH=$PATH:/usr/local/bin
echo $PATH; sleep 1
tmux
queue.sh
sleep 100

прави същото.

Какво също опитах: Ако просто предам следните команди с помощта на ssh (в command.txt)

export PATH=$PATH:/usr/local/bin
echo $PATH; sleep 1
tmux

и след това ръчно въведете queue.sh в tmux терминал, дали в този случай мога да затворя ssh-терминал и отдалечената машина продължава изпълнението на процеси.

Всяко предложение? Искам да мога да предавам всичко чрез скриптови файлове и да поддържам процесите да работят на отдалечена машина (mac-os) дори след затваряне на ssh-сесия на друга машина .

Благодаря


person user2259784    schedule 01.04.2014    source източник


Отговори (1)


Опцията -c всъщност не стартира нова сесия; това е за съвместимост с други обвивки, ако използвате tmux като обвивка за влизане. За да стартирате queue.sh в tmux сесия, опитайте да стартирате tmux с

tmux new-session queue.sh
person chepner    schedule 01.04.2014
comment
Страхотен! благодаря ти, Чепнер. (Нямам достатъчно оценка, за да оценя този отговор.) - person user2259784; 01.04.2014
comment
@user2259784 го правиш сега. Би било чудесно, ако можете да приемете и този отговор, ако приемем, че е решил проблема ви, така че въпросът да може да бъде маркиран като разрешен. - person terdon; 21.11.2016