[COMMAND FLOCK]Process locken lukt niet

Pagina: 1
Acties:
  • 175 views

Acties:
  • 0 Henk 'm!

  • van.der.schulting
  • Registratie: Juli 2002
  • Laatst online: 09-08-2024
Ik heb het volgende shell-script:
code:
1
2
3
4
(
  flock -x
  cd /mydir && ENV=production my_command
) 200>/tmp/my.lockfile


Alleen nu krijg ik de volgende melding: 'flock: requires file descriptor, file or directory'

Het script zelf runt prima, alleen de lock doet het dus niet. Maw als ik het script twee keer uitvoer wordt deze regel: 'cd /mydir && ENV=production my_command' ook braaf 2x uitgevoerd.
Meem aan dat het komt omdat ik een file descriptor mis...

Ik snap het niet... mijn shell-script heb ik letterlijk afgeleid van deze manpage: http://linux.die.net/man/1/flock

Acties:
  • 0 Henk 'm!

  • Nvidiot
  • Registratie: Mei 2003
  • Laatst online: 03-06 16:38

Nvidiot

notepad!

Je mist de lockfile name achter flock -x

What a caterpillar calls the end, the rest of the world calls a butterfly. (Lao-Tze)


Acties:
  • 0 Henk 'm!

  • van.der.schulting
  • Registratie: Juli 2002
  • Laatst online: 09-08-2024
Thanks, dat gedeelte is opgelost, maar hij locked nog steeds niet op maximaal 1 process.
Mijn code ziet er nu zo uit. Dat zou toch goed moeten zijn?
code:
1
2
3
4
(
  flock -n 1 -x /tmp/my.lockfile
  cd /mydir && ENV=production my_command
)

Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-09 20:15

igmar

ISO20022

-n is non-blocking. Ik zou de manual toch nog eens een keer doorlezen.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:39

Hero of Time

Moderator LNX

There is only one Legend

igmar schreef op maandag 20 augustus 2012 @ 14:15:
-n is non-blocking. Ik zou de manual toch nog eens een keer doorlezen.
Heb jij het wel goed gelezen?
By default, if the lock cannot be immediately acquired, flock waits until the lock is available.
-n, --nb, --nonblock
Fail (with an exit code of 1) rather than wait if the lock cannot be immediately acquired.
Blijkbaar is het de bedoeling dat het script stopt met exit code 1 ipv te blijven wachten.


@van.der.shulting:
Dit is echt te makkelijk om zelf op te lossen. Je kan hier wachten op een voorgekauwd antwoord, of je kan verder debuggen van je script en kijken hoe 't werkt. Je kan met flock examples linux al een heel eind komen.

Je stelt je vraag om 1 uur vanmiddag. Er zijn zowaar 2 antwoorden gekomen, waarvan er 1 is die je zelf al had kunnen zien aankomen als je de melding beter had gelezen en begreep wat 't betekend (Google is your friend). We zijn nu 6,5 uur verder, een tijd waarin je makkelijk het had kunnen oplossen via trial en error (en voorbeelden zoeken!)

Ik stel voor dat je eerst wat meer zelf gaat proberen, gaat begrijpen hoe het werkt en dan pas, met de juiste inzet en informatie, een nieuw topic opent als het nog steeds niet wil lukken. Lees hiervoor Het algemeen beleid en het NOS Beleid door zodat je weet wat in een degelijke TS moet staan.
Deze gaat op slot, er is te weinig inzet.

Commandline FTW | Tweakt met mate


Dit topic is gesloten.