[UNIX] proces stoppen op conditie

Pagina: 1
Acties:

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 10-02 21:35
Ik heb een unix proces van subversion, die mij de log van een bepaalde repository terug geeft.
Ik gebruik een --limit 1 argument om alleen de 1e log terug te geven, maar het lijkt erop dat hij vervolgens alle andere logs nog processed. Ik heb de informatie die ik wil, dus eigenlijk wil ik het svn commando stoppen op de conditie dat ik een x aantal regels terug heb gekregen, of dat het script een x aantal seconden is uitgevoerd.

Weet iemand of je zo'n conditie op een commando kan zetten?

commando: svn --limit 1 log /path/to/repository/ | STOP ON 3 lines or X seconds

Ik blijf er iig vrij nuchter onder....


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Deze gezien: http://svn.haxx.se/dev/archive-2005-01/0337.shtml ? Lijkt een bekend probleem te zijn met bekende oplossing :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Parasietje
  • Registratie: Juli 2004
  • Laatst online: 10-06-2024

Parasietje

linux-geek

Je kan ook gewoon simpel:

code:
1
2
3
4
#!/bin/bash
myproces &
sleep 5s
killall myproces

WebDAV in Vista is horribly broken. Ik wil het fixen, maar ben nog steeds op zoek naar de tarball met de source...


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Waarom een omweg gebruiken als er een correcte oplossing beschikbaar is? :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 10-02 21:35
Ja, ik ben bekend met deze zogenaamde oplossing, maar al mijn versies zijn al 1.2.x, dus dat is de oplossing niet.

Ik blijf er iig vrij nuchter onder....


  • Sendy
  • Registratie: September 2001
  • Niet online
Half eenvoudig:
code:
1
svn --limit 1 log /path/to/repository/ | head -n 5


Voor het tijdsprobleem zou je de truk van parasietje kunnen proberen (pas op met killall). Een algemeen programmaatje dat, zolang een timer niet verstreken is, stdin naar stdout zou kopieren lijkt me trouwens best handig?

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 30-01 01:49

Sprite_tm

Semi-Chinees

Zoals Sendy al zegt: killall is niet ideaal, als je een ander process genaamd 'myproces' (in jouw geval: svn) draait word die even hard afgeschoten. Om even Parasietjes code te verbeteren zodat 'tie geen killall gebruikt:
code:
1
2
3
4
#!/bin/bash
myproces &
sleep 5s
kill $!

(fyi: $! geeft de PID van de laatste achtergrond-taak terug)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog

Pagina: 1