Ga naar inhoud
  • 0

[gentoo] beeindigen van een proces in een cron


anoniem

Vraag

Ik heb een proces die automatisch opstart. Na twee uur wil ik hem weer stoppen. Hij start op in een cron-job. Maar hoe stop ik hem nu weer? Ik zat te denken aan een kill -pid. Maar nu veranderd de -pid steeds. De procesnaam blijft hetzelfde. Hoe kom ik achter de -pid van een procesnaam en hoe stuur ik deze waarde door naar de kill -pid.
Link naar reactie

2 antwoorden op deze vraag

Aanbevolen berichten

  • 0
er zijn grofweg drie manieren. 1. killall (onder Linux, niet andere Unixen!): killall blackbox killt alle processen met de naam blackbox. Heeft je proces dus een duidelijk herkenbare naam, en weet je zeker dat er nooit onbedoeld andere processen met die naam draaien, dan kan dat. 2. het programma start-stop-daemon uit het pakketje debianutils. Zie man start-stop-daemon. Erg handig, misschien wel de beste methode. 3. de $! variabele van bash. schrijf een startscriptje voor je cron-taak: [code:1:bb77e81002] # start proces startproces argument blabla blaat & # de $! variabele bevat de pid van het laatst gestarte proces. echo $! > /var/run/blaat.pid [/code:1:bb77e81002] stoppen kan dan zo: [code:1:bb77e81002] # stop proces kill `cat /var/run/blaat.pid` rm -f /var/run/blaat.pid [/code:1:bb77e81002] of, netter: [code:1:bb77e81002] # stop proces if test -r /var/run/blaat.pid; then kill `cat /var/run/blaat.pid` rm -f /var/run/blaat.pid fi [/code:1:bb77e81002] Waar je wel op moet letten bij deze startconstructie, is of het proces niet zelf nog een keer een fork(2) uitvoert. In dat geval klopt de PID natuurlijk niet meer. Dit soort dingen werkt dus niet zomaar bij MySQL of Apache. Maar deze servertoepassingen hebben altijd wel hun eigen start-stop technieken. Raadpleeg daarvoor de documentatie. Verder kun je natuurlijk altijd met ps|grep|awk constructies gaan prutsen.
Link naar reactie

Doe mee aan dit gesprek

Om te reageren, moet je eerst inloggen. Dit doe je door rechtsboven op inloggen te klikken.

Gast
Antwoord op deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...