Portál AbcLinuxu, 25. dubna 2024 15:40


Dotaz: Spusteni bash skriptu na pozadi

10.4.2007 10:53 pavel
Spusteni bash skriptu na pozadi
Přečteno: 4647×
Odpovědět | Admin
Potrebuji spustit skript napsany v bashi na pozadi,ale pokud zadam:
 ./test.sh &
tak mi to vypise:
[1]+  Stopped       ./test.sh
a ve vypisu procesu je u nej "T", jako ze je terminated.

Jde vubec spustit skript na pozadi? A jak?

Dik moc.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.4.2007 11:15 Dannny | skóre: 14
Rozbalit Rozbalit vše Re: Spusteni bash skriptu na pozadi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pouzij screen a v nem spust skript. Pak sreen odstav (detach). Pak si skript pobezi i na pozadi. Asi jde o to, ze se ten skript snazi nejak vyuzit std{out,in,err} a kdyz bezi na pozadi tak nemuze. screen to zaridi ze to jede :-)
10.4.2007 11:15 maleprase | skóre: 28
Rozbalit Rozbalit vše Re: Spusteni bash skriptu na pozadi
Odpovědět | | Sbalit | Link | Blokovat | Admin
neobsahuje ten skript nejake cteni ze standardniho vstupu? nepta se treba na heslo? co dela kdyz ho pustis bez & ?
10.4.2007 11:47 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: Spusteni bash skriptu na pozadi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Lze použít toto, pokud skript nechce vstup z klávesnice:
(./test.sh >& /dev/null &)
Přesměrování zahodí výpisy a skript pojede dál. Závorky způsobí, že proces neskončí při ukončení bashe, z něchož byl skript vyvolán.
10.4.2007 11:53 Ash
Rozbalit Rozbalit vše Re: Spusteni bash skriptu na pozadi
Závorky způsobí spuštění v podprocesu, ale "že proces neskončí při ukončení bashe" je (u bashe) už zařízeno tím spuštěním na pozadí.
10.4.2007 11:58 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: Spusteni bash skriptu na pozadi
Trochu blbě jsem se vyjádřil – ono se to týká spíš bashe v Midnight Commanderu, tam už se to pozná.
10.4.2007 11:48 Ash
Rozbalit Rozbalit vše Re: Spusteni bash skriptu na pozadi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Skript spustit na pozadí jde, asi je chyba ve skriptu. Jesli je probl. v I/O, zkuste
./test.sh >/dev/null 2>&1 </dev/null
Mělo by to vypsat Done místo Stopped.
10.4.2007 11:50 Ash
Rozbalit Rozbalit vše Re: Spusteni bash skriptu na pozadi
samozřejmě za tím ještě & ...
10.4.2007 11:49 franta
Rozbalit Rozbalit vše Re: Spusteni bash skriptu na pozadi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Script se nejspíš pokouší číst/psát na tty (jak píše maleprase). Pomoci může i přesměrování stdin/stdout/stderr ala
 script </dev/null >/dev/null 2>&1 &
Použitelný je i příkaz nohup (GNU verze přesměruje i stdin)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.