Gestopt process gestopt, restarten script.

Pagina: 1
Acties:

  • eppie
  • Registratie: Maart 2000
  • Niet online
(overleden)
Hallo,

Sorry voor de onduidelijke titel maar wist zo gauw geen andere :)

Ik ben op zoek naar een script/progje die bepaalde processen in de gaten hou om de minuut bijvoorbeeld.

Als dat process dat in de gaten werd gehouden is gestopt, of helemaal niet is gestart moet hij als kan het eerst proberen opnieuw het process op te starten. Lukt dit niet, dan moet hij een bepaald ander scriptje opstarten.

Dus: Process stopt, wordt opnieuw opgestart, lukt dit niet dan een ander scriptje uitvoeren.

Heb onder andere heel freshmeat bijna afgezocht, maar vond daar niets. En heb zelf wat geprobeert in elkaar te knutselen, maar dat werd te ingewikkeld en kwam er niet meer uit ;(

edit:
Heb trouwens 1 maal te veel gestopt in titel getypt :)


Hopelijk weten jullie iets. :)

alvast bedankt

  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 17-02 12:22

zomertje

Barisax knorretje

ik heb dit scriptje draaien om te testen of mijn adsl verbinding er nog is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[zomer@herfst zomer]$ cat /usr/local/bin/adsltest
#!/bin/bash
#script om te testen of adsl draait

#variable adslpid leegmaken
PID=""

#variable vullen
ps -ef > /tmp/adslps; grep ppp /tmp/adslps | awk '{print $2}' > /tmp/adslpid

PID=`cat /tmp/adslpid`

#testen of adsl draait
#en starten als ie niet draait
#statusinfo in /var/log/adsllog
if [ "$PID" = "" ];
then
      date >> /var/log/adsllog
      echo "adsl draait niet en wordt gestart." >> /var/log/adsllog
      /usr/local/bin/startadsl
else
      date >> /var/log/adsllog
      echo "adsl draait met proces id " $PID >> /var/log/adsllog
fi

daarnaast staat dit in mijn crontab:
0 * * * * /usr/local/bin/adsltest

1x per uur testen vind ik wel zat.

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun


Verwijderd

daar heb je geen apart programma of script voor nodig, dat kan direct vanaf de command line:
code:
1
script1; if [ $? -ne "0" ]; then script1; if [ $? -ne "0" ]; then script2; else exit; fi; else exit; fi

...in slechts een enkele command line :P - uiteraard 'script1' en 'script2' even vervangen door de juiste commands. deze command line doet het volgende:


• script1 uitvoeren
• als script1 exit-status 0 returned (dus 'goed' afsluit), niet verdergaan.
• doet script1 het niet, nog een keer proberen.
• doet script het de 2e keer wel, dan stoppen. zo niet...
• dan nog even script2 uitvoeren...

is dit ongeveer wat je bedoeld? :?

  • eppie
  • Registratie: Maart 2000
  • Niet online
(overleden)
Hartstikke mooi!! :9~

Ga het meteen ff proberen, bedankt!