Portál AbcLinuxu, 16. července 2025 19:47
ahoj mam problem z screenem .. potebuju ho zahrnout do skriptu pro automaticke spusteni poo startu serveru jenze potrebuju b jednom screenu spustit 3 aplikace kvuli logovani aby nebyl kazdy jinde ,.,, ale nemuzu prijit na to jak pustit 2 a vice aplikaci prikazem zkousel sem screen -dmS eamap ./app nebo screen -dmS eamap "./app1 && ./app" u druheho pripadui se do screenu zapne pouze prvni apliakce druha se rozjede na lokalu bez screenu co je spatne? zkousel sem to nacpat i do jednoho skriptu ze screen spousti jenom jeden skript ve kterem je obsazeny vsechno co se ma spustit ale screen se ihned po spusteni zavre :(
Já toto dělám přes konfigurák, který předhodím screenu: screen -S sc1 -c scr.conf. Ukázka scr.conf:
# Konfiguracni soubor pro "screen" spousteny automaticky po startu PC
# viz. /etc/screenrc
# kvuli zmene defaultniho nastaveni Ctrl a -> Ctrl b
escape ^aa # default
break ^B b
screen -t "mc 1" 1 mc /etc/portage /dataprog/proved
screen -t "mc 2" 2 mc
screen -t "mc 3" 3 mc
screen -t "mc 4" 4 mc ~
screen -t "mc 5" 5 mc /var/www/localhost/htdocs/fik /dataprog/pristup1
screen -t "mc 6" 6 mc /dataprog/stahni_modem /var/log
screen 7 top
screen -t "vypis pristupu (/dataprog/pristup1/kontrola2.sh)" 9 sleep 989796d
screen 0
promin trochu se v tom nevyznam co je co .. mohl bys to upravit podle myho prikladu abych vedel jak to mam slozit?
jinak tento skript spusti vice screenu ne ? ja potrebuji od jednoho screenu 3 aplikace kvuli logovani abych nemusel kvuli logu do jinyho screenu protoze jsou to na sobe zavisle aplikace
Stačí trochu hledat na netu, mrknout do helpu/manuálu, ukázek (už nevím, kde jsem si to před časem nastudoval).
Nevím, co Ti není jasný. Tímhle pustím jeden screen: screen -S sc1 -c scr.conf . Ten načte konfigurák scr.conf, v krerým mám nadefinováno, v jakých oknech toho screenu co pustím. V 1 až 6 mc, v 7 top, v nultým bash, atd ...
Obsah scr.conf :
screen -t "mc 1" 1 mc /etc/portage /dataprog/proved
screen -t "mc 2" 2 mc
screen -t "mc 3" 3 mc
screen -t "mc 4" 4 mc ~
screen -t "mc 5" 5 mc /var/www/localhost/htdocs/fik /dataprog/pristup1
screen -t "mc 6" 6 mc /dataprog/stahni_modem /var/log
screen 7 top
screen 0
#!/bin/bash screen="/usr/bin/screen" program="/home/honzas/temp/run.sh" $screen -d -m -S test -t okno1 $program && $screen -S test -X screen -t okno2 $program $screen -S test -X screen -t okno3 $program
zkusil jsem to ale bez uspechu muj ucel to nesplnuje spise nefunguje ..(pokud nebyl skript ze pusti jednu aplikaci 3x do screenu v oknech, potrebuji 3 jine aplikace ale nevim si furt rady) po ukazku sem hodim cely skript
#!/bin/sh # SupraRO server start skript cd /root/luky/eathena L_SRV=login-server_sql C_SRV=char-server_sql M_SRV=map-server_sqlprint_start() { # more << EOF echo "Athena Starting..." echo " modified by LuRy " echo "" #echo "Debug informations will appear," #echo "since this is a test release." #echo "" echo "Kontrola..." #EOF } check_files() { for i in ${L_SRV} ${C_SRV} ${M_SRV} do if [ ! -f ./$i ]; then echo "$i does not exist, or can't run." echo "Stop. Check your compile." exit 1; fi done # more << EOF echo "Kontrola hotova." #EOF } case $1 in 'start') print_start check_files #START Uspesny pokus spusti se vse jak ma ale ne do screen #potrebuji automaticky start po spusteni ale i pristup k vyspusu programu #ktery bych resil pres screen (screen -r) cd /root/luky/eathena # exec ./${L_SRV}& # sleep 2 # exec ./${C_SRV}& # sleep 5 # exec ./${M_SRV}& # neuspesny pokus do screenu se spustil pouze login-server a char-server se spusti mimo screen # screen 1 # screen -dmS supraro ./login-server_sql && exec ./char-server_sql # neuspesny pokus podle predchoziho prispevku, screen se podle ps aux spusti jenom $screen -d -m -S eathena -t okno1 $program && # a ve spustene instanci je prazdne okno .. spoustene procesy podle ps aux se ani nezapnuly screen="/usr/bin/screen" program1="./login-server_sql" program2="./chat-server_sql" program3="./map-server_sql" $screen -d -m -S eathena -t okno1 $program && $screen -S eathena -X screen -t okno2 $program2 $screen -S eathena -X screen -t okno3 $program3 echo "Nyni startuji eAthenu." ;; 'stop') ps ax | grep -E "${L_SRV}|${C_SRV}|${M_SRV}" | awk '{print $1}' | xargs kill ;; 'restart') $0 stop $0 start ;; *) echo "pouziti: athena-start { start | stop | restart }" ;; esac
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.