Upstart & Respaw

Konfiguration av nätverk, hur man använder Ubuntu som server, och håller sin dator säker
tallmyr
Inlägg: 5
Blev medlem: 25 okt 2013, 17:42
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Upstart & Respaw

Inlägg av tallmyr »

Vet inte riktigt om detta sub-forumet är den optimala platsen för detta men hittade inget bättre.

Använder Upstart för att starta ett Mono program. Allt fungerar fin-fint, start, stop restart etc.
Fram tills att programmet crashar det vill säga.
Trots att jag använder Respawn och Status visar rätt PID, så tror Upstart fortfarande att programmet rullar på fint.

.conf fil:
http://pastebin.com/rvU2P3sj
(yourusername naturligtvis ändrat till mitt användarnamn :P)

Jag kan bara inte förstå varför detta inte fungerar. Av någon anledning så verkar det som om att Upstart helt enkelt inte känner av att programmet har crashat,, utan status står fortfarande som start/running.

Har googlat tills ögonen blöder, men alla liknande fel beror på att fel PID spåras, vilket altså inte är fallet här. Någon som har hört talas om något liknande?

Tack på förhand!
Antec
Inlägg: 2449
Blev medlem: 31 okt 2008, 16:25
OS: Ubuntu

Re: Upstart & Respaw

Inlägg av Antec »

Öppna en annan terminal och kör ps ax | grep foo där foo är namnet på det svarade programmet. Detta bör returnera en linje av produktionen som ser ut ungefär så här:
$ ps ax | grep firefox
2222 ? S 0:00 /bin/sh /usr/lib/firefox-3.6.9/firefox
2231 ? Sl 514:36 /usr/lib/firefox-3.6.9/firefox-bin
30290 pts/2 S+ 0:00 grep --color=auto firefox
Det första fältet på varje rad av produktionen är ett nummer som representerar Process-ID för programmet matchas av grep ( du kan ignorera den sista , som representerar grep själv .

För att stoppa den felande processen , göra : kill pid där PID är process -ID för programmet . Du kan behöva använda din bedömning av vilken av paketen som måste dödas , eller då kan du använda topp istället . Använda döda sig själv skickar SIGTERM , som du bör prova först eftersom det tillåter programmet att ordentligt städa efter sig . Om SIGTERM misslyckas , prova SIGHUP , vilket är en starkare medicin : kill - HUP pid . Om allt annat misslyckas , skicka SIGKILL .
Men det ska du bara göra det som en sista utväg , eftersom SIGKILL orsakar kärnan att avsluta processen omedelbart utan möjlighet för rensning .
Detta kan ibland resultera i data korruption eller andra problem . Så återigen , bara skicka SIGKILL som en sista utväg .

Öppna " System Monitor " , navigera till fliken Processer , välj den process du vill stoppa ( Hm , kan det vara den som använder 90 % CPU ? ) Och högerklicka på den . Eftersom processen är redan slutat , ( som är problemet , eller hur? ) Välj Avsluta process eller Kill Process från menyn som visas . Kanske kan det hjälpa dej?
Antec
Inlägg: 2449
Blev medlem: 31 okt 2008, 16:25
OS: Ubuntu

Re: Upstart & Respaw

Inlägg av Antec »

Tryck alt + f2 skriv Ubuntu-bug och följ anvisningarna, det kan också hjälpa!
tallmyr
Inlägg: 5
Blev medlem: 25 okt 2013, 17:42
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Upstart & Respaw

Inlägg av tallmyr »

Tack för svaret, men hamnade ditt svar i rätt tråd? Detta relaterar inte på något sätt till min fråga.

Jag undrar inte hur jag stoppar en process, jag undrar varför inte Upstart återupplivar den när den den stoppas inkorrekt (exempelvis med sig-kill eller när den crashar).
Respawn i Upstart fungerar inte trots att den trackar rätt PID.
Antec
Inlägg: 2449
Blev medlem: 31 okt 2008, 16:25
OS: Ubuntu

Re: Upstart & Respaw

Inlägg av Antec »

mm om en process fallerar som vad jag förstod i ditt fall, så beror det ju på nått, eftersom jag inte själv kan kontrollera så bör du se om programmets har problem, det kan man göra om man vet pid-nr för den sessionen, därför kan det vara bra att kolla med bugg hjälpmedlet som finns att tillgå.. :)
Antec
Inlägg: 2449
Blev medlem: 31 okt 2008, 16:25
OS: Ubuntu

Re: Upstart & Respaw

Inlägg av Antec »

Om du får iväg data på sessionen med pid- nr och allting så vid problem så brukar man få rejält med information tillbaka!
tallmyr
Inlägg: 5
Blev medlem: 25 okt 2013, 17:42
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Upstart & Respaw

Inlägg av tallmyr »

Det är inte att programmet (NZBDrone) crashar som är problemet, problemet är att Upstart inte startar om det utifall att det händer :) Respawn funktionen i Upstart gör inte som den ska.

Att programmet crashar är naturligtvis ett problem, men inte vad jag behöver hjälp med att lösa här.
Antec
Inlägg: 2449
Blev medlem: 31 okt 2008, 16:25
OS: Ubuntu

Re: Upstart & Respaw

Inlägg av Antec »

Ja då vet jag inte, men det fungerar bra utan uppstart då? eller blir det samma sak efter det varit uppstartat en gång, utan att det finns i Uppstartslistan? Undra om jag tänker rätt nu?
Antec
Inlägg: 2449
Blev medlem: 31 okt 2008, 16:25
OS: Ubuntu

Re: Upstart & Respaw

Inlägg av Antec »

Har du gjort det här?:
Ubuntu/Debian

Add NzbDrone's repository to your software source

echo "deb http://update.nzbdrone.com/repos/apt/debian develop main" | sudo tee -a /etc/apt/sources.list
Install/Update NzbDrone

sudo apt-get update
sudo apt-get install nzbdrone
Start NzbDrone

mono /opt/NzbDrone/NzbDrone.exe
Automatically Start NzbDrone

Autostart on Linux
Last edited by Mark McDowall, 7 days ago
Status API Training Shop Blog About
Jag tror att det problem du fått har uppstått nyligen och kommer att lösas av sig själv inom kort! :)
tallmyr
Inlägg: 5
Blev medlem: 25 okt 2013, 17:42
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Upstart & Respaw

Inlägg av tallmyr »

Än en gång, tack Antec. Ja, jag har gjort det, om du tar dig en närmare koll på "Autostart on Linux" biten på den sidan så ser du dessutom att det är jag som har skrivit den biten ;)

Här är grejen, NZBDrone crashar ibland på Linux. Det är en applikation som fortfarande är under utveckling, och dessutom har WIndows som första platform med stöd för Linux genom Mono. Det är helt OK, det är till och med förväntat.

Problemet är mitt startup-skript. Det rullar i Upstart, och meningen är att om NZBDrone crashar så ska det startas om. Upstart håller reda på PID för programmen man startar genom det, och om de stängs ned oväntat så säger kommandot "Respawn" att skriptet ska köras igen.

Det är den delen som ej fungerar. Av någon anledning så tror Upstart fortfarande att NZBDrone rullar på, trots att programmet har crashat - vilket betyder att det inte automatiskt startas om igen heller.
tallmyr
Inlägg: 5
Blev medlem: 25 okt 2013, 17:42
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Upstart & Respaw

Inlägg av tallmyr »

Lyckades fixa detta själv i slutändan.
Av någon anledning så var problemet att jag använde Script för att starta programmet, istället för Exec.
Med exec så fungerar allt precis som det ska :)

Slutliga, fungerande skriptet, ser ut så här:
http://pastebin.com/GHTHcLUw
Antec
Inlägg: 2449
Blev medlem: 31 okt 2008, 16:25
OS: Ubuntu

Re: Upstart & Respaw

Inlägg av Antec »

Hihi, i slutändan hade jag ju rätt att det skulle lösa sig inom kort! :P
Skriv svar

Återgå till "Nätverk, säkerhet och servrar"