BASH: Ako detekovať ukončenie nejakého procesu?

Sekcia: Programovanie 01.05.2008 | 02:13
Avatar Grawp   Používateľ
Potreboval by som trochu pomoc. V jednom terminali si otvorim viacero display (tak ze tie procesy sa pri pustani hodia do pozadia) (súćasť "ImageMagick") a potrebujem nejako detekovať ktoré okno pouźívateľ zavrie ako prvé.

Jak otváram jednotlivé obrázky tak sa mi ich PID zapisujú do array, takze viem ktoré PID patrí ku ktorému obrázku, len potrebujem nejak detekova ktorý proces sa ukonci ako prvý, a dalej uz viem zistit ktory obrazok to bol at...
len neviem jak spravit to aby mi shell cakal kym nektory z vybranych procesov v pozadi (teda secky display procesy, iné nie) nezavrem a ziskat PID toho procesu.

thank in advance
    • Re: BASH: Ako detekovať ukončenie nejakého procesu? 01.05.2008 | 14:45
      WlaSaTy   Návštevník
      v tom istom shelli? man jobs. v inom? man ps, man grep, man woman.
      • Re: BASH: Ako detekovať ukončenie nejakého procesu? 02.05.2008 | 18:51
        Avatar Grawp   Používateľ
        ano v tom istom shelli.
        v skratke potrebujem neco taketo.
        #!/bin/bash
        display image 1 &
        display image 2 &
        display image 3 &


        echo $x
        a do toho prazdenho miesta potrebujem spravit aby ten skript cakal kym sa aspon jeden z tych troch procesov neukonci (alebo ho nekdo neukonci, ci uz cez kill, alebo inac), a potom bude pokracovat tak ze PID toho procesu zapise do x a potom bude pokracovat.
    • Re: BASH: Ako detekovať ukončenie nejakého procesu? 02.05.2008 | 19:05
      Avatar uid0 Debian  Používateľ
      skus odchytavat v skripte SIGCHLD

      pozri napr. sem:

      http://www.chiark.greenend.org.uk/~sgtatham/bash-notify/
      Debian. apt-get into it…
      • Re: BASH: Ako detekovať ukončenie nejakého procesu? 03.05.2008 | 19:02
        Grawp   Návštevník
        to vyzerá najrozumnejśie.
        ale ešte mám jednu otázku, ako zistiť ktorý job alebo proces ten signál poslal?
        • Re: BASH: Ako detekovať ukončenie nejakého procesu? 03.05.2008 | 20:18
          Avatar uid0 Debian  Používateľ
          neviem, take sialene veci nepotrebujem robit.

          urcite nechces pouzit nejaky malicko schopnejsi jazyk?
          Debian. apt-get into it…
          • Re: BASH: Ako detekovať ukončenie nejakého procesu? 03.05.2008 | 21:24
            Avatar Grawp   Používateľ
            :))
            uz som dosiel na to ako to spraviť
            ( (display image1; printf '1\n') &
            (display image2; printf '2\n') &
            (display image3; printf '3\n') & ) | while read cislo; do
            echo $cislo; break
            done
            • Re: BASH: Ako detekovať ukončenie nejakého procesu? 03.05.2008 | 21:26
              Avatar Grawp   Používateľ
              Toto robim iba preto aby som ziskal nejakú prax v BASHi. Hneď jak dokončím istý projekt tak sa začnem učiť C a neskôr C++ a GTK+