Bir kabuk betiğini arka planda nasıl çalıştırabilirim?
Ne istediğinize bağlı olarak, komutun sonuna bir & eklemeniz yeterlidir
script.sh &
command &
Bir terminalde çalıştırıyorsanız ve daha sonra terminali kapatmak istiyorsanız, nohup veya disown kullanın
nohup
nohup script.sh &
evlatlıktan reddetmek
script &
disown
Aradığınız şey bu değilse, lütfen sorunuzda daha spesifik olun.
sadece ekranı değiştirebilir ve komut dosyanızı bu 2. ekranda çalıştırabilirsiniz. Komut dosyası 2. ekranda başladığında, 1. ekrana geri dönün ve istediğinizi yapın. 2. ekran ekstra "terminal penceresi" olarak arka planda olacaktır. ve 1. ekrandayken ssh bağlantınızı kapattığınızda bile işlemeyi durdurmayacaktır.
screen --help
Use: screen [-opts] [cmd [args]]
or: screen -r [host.tty]
Options:
-4 Resolve hostnames only to IPv4 addresses.
-6 Resolve hostnames only to IPv6 addresses.
-a Force all capabilities into each window's termcap.
-A -[r|R] Adapt all windows to the new display width & height.
-c file Read configuration file instead of '.screenrc'.
-d (-r) Detach the elsewhere running screen (and reattach here).
-dmS name Start as daemon: Screen session in detached mode.
-D (-r) Detach and logout remote (and reattach here).
-D -RR Do whatever is needed to get a screen session.
-e xy Change command characters.
-f Flow control on, -fn = off, -fa = auto.
-h lines Set the size of the scrollback history buffer.
-i Interrupt output sooner when flow control is on.
-l Login mode on (update /var/run/utmp), -ln = off.
-ls [match] or -list. Do nothing, just list our SockDir [on possible matches].
-L Turn on output logging.
-m ignore $STY variable, do create a new screen session.
-O Choose optimal output rather than exact vt100 emulation.
-p window Preselect the named window if it exists.
-q Quiet startup. Exits with non-zero return code if unsuccessful.
-r [session] Reattach to a detached screen process.
-R Reattach if possible, otherwise start a new session.
-s shell Shell to execute rather than $SHELL.
-S sockname Name this session <pid>.sockname instead of <pid>.<tty>.<host>.
-t title Set title. (window's name).
-T term Use term as $TERM for windows, rather than "screen".
-U Tell screen to use UTF-8 encoding.
-v Print "Screen version 4.01.00devel (GNU) 2-May-06".
-wipe [match] Do nothing, just clean up SockDir [on possible matches].
-x Attach to a not detached screen. (Multi display mode).
-X Execute <cmd> as a screen command in the specified session.
ctrl+a, c aktif ekran oturumunuzda yeni bir "pencere" oluşturacaktır. Birden fazla pencere arasında (Ansgar'ın belirttiği gibi) ctrl+a, n<sonraki pencere için ctrl+a,p ve önceki pencere için /kbd>.
ctrl+a," size tüm açık pencerelerinizin bir listesini verecektir.
Daha fazlası: https://superuser.com/questions/476709/quickly-switching-between-virtual-sessions-screen