Portál AbcLinuxu, 10. května 2025 08:24

Dotaz: Nespustí se daemon v init skriptu, manuálně ano

16.12.2014 20:08 nal
Nespustí se daemon v init skriptu, manuálně ano
Přečteno: 327×
Odpovědět | Admin
Ahoj. V rc.local na ubuntu mám několik programů, spouštím jako deamony. Všechny naběhnou, kromě následujícího:
nprobe --collector-port 2055 --zmq tcp://127.0.0.1:5556 -i none -n none -V 9 -b 1 > /tmp/nprobe.log &
Manuální spuštění funguje, příkaz v rc.local nevrátí žádnou chybu, /tmp/nprobe.log se vytvoří prázdný, takže příkaz proběhne, ale daemon se nespustí. Zkoušel jsem mu podstrčit na stdin tty1, spouštět přes "screem -dm" apod. Nic nefunguje. Kde může být problém?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.12.2014 21:10 Sten
Rozbalit Rozbalit vše Re: Nespustí se daemon v init skriptu, manuálně ano
Odpovědět | | Sbalit | Link | Blokovat | Admin
Před & na konci přidejte 2>&1 a uvidíte to v logu
17.12.2014 00:13 nal
Rozbalit Rozbalit vše Re: Nespustí se daemon v init skriptu, manuálně ano
Bohužel neuvidím, zkoušel jsem i stderr ukládat do souboru, ale byl prázdný.
17.12.2014 09:04 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Nespustí se daemon v init skriptu, manuálně ano
A cesta na nprobe ?
17.12.2014 17:45 nal
Rozbalit Rozbalit vše Re: Nespustí se daemon v init skriptu, manuálně ano
/usr/local/bin, nefunguje ani když tam uvedu celou cestu tj. /usr/local/bin/nprobe
17.12.2014 21:04 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Nespustí se daemon v init skriptu, manuálně ano
Odpovědět | | Sbalit | Link | Blokovat | Admin
A jaký používáš shell v rc.local? Pokud bash, dal bych mu parametr -x a koukal, co to vypíše při ručním spuštění skriptu.
17.12.2014 21:23 nal
Rozbalit Rozbalit vše Re: Nespustí se daemon v init skriptu, manuálně ano
Používám dash, teď mám ale ten příkaz ve vlastním skriptu, který používá bash. Tzn. rc.local spustí můj skript, ten nastaví nějaká iptables pravidla a snaží se spustit ten program. Debug toho skriptu zobrazí:
předchozí příkazy (iptables) ....
+ nprobe --collector-port 2055 --zmq tcp://127.0.0.1:5556 -i none -n none -V 9 -b 1
17.12.2014 21:30 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Nespustí se daemon v init skriptu, manuálně ano
A případné příkazy za tím nprobe se vykonají OK? Tj. na nprobe se to nezastaví?
17.12.2014 21:40 nal
Rozbalit Rozbalit vše Re: Nespustí se daemon v init skriptu, manuálně ano
Nezastaví. Nicméně už jsem to vyřešil. Na začátek svého skriptu jsem přidal -x a přes "mujskript 2> /tmp/vystup" v rc.local jsem si vyzobal výsledky po rebootu. Ukázalo se, že na nprobe bylo "command not found", ačkoliv předchozí příkaz to našlo a byl v tom samém adresáři ... ??? Pak jsem tedy k tomu příkazu napsal celou cestu a už to začalo fungovat. To znamená, že jsem udělal přesně to, co včera, ale dneska to zabralo. Já fakt nevím ... Možná tam byl nějaký skrytý znak či co a tím, že jsem nastavoval debug jsem ho vymazal ... I když to zase nevysvětluje proč konkrétně příkaz ntopng proběhl a nprobe "command not found". Přitom:
root@X:~# which ntopng
/usr/local/bin/ntopng
root@X:~# which nprobe
/usr/local/bin/nprobe
17.12.2014 21:48 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Nespustí se daemon v init skriptu, manuálně ano
Nevěřím na náhody. Tipuji si na nějaký ten špatný znak. Proto používám to -x, je dobré vědět, co se děje.

Super, že už to běží.

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.