Portál AbcLinuxu, 10. května 2025 16:32
# notify-send 'Game over!'
jobs
fg %x
~/tmp> bash app.sh & [1] 6761 ~/tmp> baf! [1]+ Done bash app.sh ~/tmp> ~/tmp> cat app.sh sleep 10 echo "baf!" ~/tmp>
sleep 10 echo "baf!"Tento souboru ulož pod jménem
app.sh
a ukonči editor. Tím jsi vytvořil aplikaci, kterou nyní spustíš na pozadí následujícím příkazem:
bash app.sh &kde
bash
je interpreter, app.sh
je název tvé nové aplikace a &
je příznak zajišťující přenesení procesu na pozadí. Nyní vyčkej deset sekund (příkaz sleep 10
deset sekund dělá že nic nedělá), během této doby můžeš v terminálu pracovat, třeba si vypsat obsah adresáře příkazem ls
. Po zmíněných deseti sekundách se ti na terminálu objeví text baf!
, který byl vypsán aplikací běžící na pozadí (to je to co jsi chtěl). Pouhý fakt, že apolikace běží na pozadí ji nezbavuje práva na výstup na terminál. O toto právo přijde, pokud 1) výstup v aplikaci zavřeš (ale proč bys to dělal když ho chceš používat), 2) terminál zavřeš (dtto a ještě navíc můžeš teoreticky destabilizovat tu aplikaci, pokud ten terminál vyžaduje) apod. Takže pokud chceš, aby ti aplikace běžící na pozadí něco vypsala na terminál, tak to v ní vypisuj na standardní výstup a nezavírej jí ten terminál, na který bude vypisovat.
tail -f
nebo v grafice třeba pomocí dzen2
či řady jiných nástrojů.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.