Portál AbcLinuxu, 13. května 2025 19:39
dobry den myslim ze som v nazvu vystihol kompletny problem ktory riesim
urcite nieco jednoduche v linuxe existuje a nebudu to musiet skriptovat
dakujem za rady ci nazvy doporucenych programou
Řešení dotazu:
Toto řeší program init a v novějších distribucích pak upstart
Konfigurace je v souboru /etc/inittab respektive /etc/init.conf a /etc/init/*.conf
Init je program, který se v Linuxu spouští jako první, má PID 1 a stará se o spuštění samotného systému, proto si troufám tvrdit, že init už tam je nainstalován - prohlédněte si /etc/inittab a přečtěte si manpage
zz:2345:respawn:/cesta/k/programuProgram se pak bude spouštět automaticky v runlevelu 2,3,4 a 5. Kdykoliv skončí, nastartuje se znovu.
while :; do aplikacia; sleep 5; done
while true ; do if [ -z "`ps -u ghaad | grep leafpad`" ] ; then leafpad & fi; sleep 5 done
Ten tvoj skript je dost pravdepodobne, ze niekedy, aj napriek tomu, ze ten proces nebezi, nespusti ho. Je to kvoli tomu grep, ktory najde sameho seba.
Tu je tiez riesenie (dufam) :
#!/bin/bash shopt -s extglob CMD='' # sem treba zapisat prikaz, ktory treba sledovat # odstrani cestu k adresaru s aplikaciou a taktiez parametre pre danu aplikaciu APP=${CMD//@(*\/|[[:space:]]*)} while true do if [[ ! $(pidof "${APP}") ]] then ${CMD} & wait fi done
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.