[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian]: signify in ~/.bash_profile (was: Zwei Newbie Fragen)



On Wed, Mar 10, 1999 at 09:10:22PM +0100, Frederick Page wrote:
> 
> Das Problem ist damit für mich gelöst, herzlichen Dank nochmals an
> Dich und Michael.
> 

Hallo nochmals,

ich muß mich nochmals zum obigen Problem und den von mir und Michael
gezeigten Lösungen und daraus resultierenden möglichen weiteren Problemen
äußern.

Dabei wurde vernachlässigt, daß ja Linux (u.a.) ein Multitasking BS
ist.  Ich habe nämlich den Fall, daß ich in meiner ~/.xsession sowas
in der Art stehen habe:

---8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<--
/usr/X11R6/bin/xterm -ls -sb -sl 500 -geometry 80x24+15+5 &
/usr/X11R6/bin/xterm -ls -sb -sl 500 -geometry 80x24+15+354 &
/usr/X11R6/bin/xscreensaver -timeout 5 &
/usr/X11R6/bin/xisdnload -geometry 250x100+772+475 &
/usr/X11R6/bin/xbiff -file ~/Mail/mbox -geometry 48x48+723+526 &
exec /usr/X11R6/bin/wmaker
---8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<--

Die beiden ersten Zeilen starten also ein xterm als login Shell im
Background -> ~/.bash_profile wird quasi zeitgleich von beiden Shells
des xterms durchlaufen mit der Folge, daß beide Shells ein grep auf
den signify[1] machen und keines finden und demzufolge signify[1]
zweimal gestartet wird.

Als workaround habe ich deshalb ein "sleep 1" nach dem ersten xterm
Aufruf eingefügt. Das ist zwar eine Lösung auf die nicht so feine Art,
da der start dadurch unnötigt verzögert wird. Klar könnte ich die
xterms auch ohne -ls Option aufrufen - warum mache ich das überhaupt
<grübel> ?  Ich glaub deshalb, weil ich quasi die bash noch nicht sooo
gut kenne und sozusagen mehr oder weniger nur deren "again" features
nutze, die diese mit der von mir zuvor jahrelang benutzten ksh hat.
Aber egal.

Inzwischen habe ich das package in Version 1.04-1 installiert (noch von
Hamm) und dort zumindest ist genau der Fehler noch drin, den Frederick
weiter oben beschrieben hatte: signify killt einfach ohne
nachzuschauen den Prozeß mit der PID, die er in seinem lockfile
hinterlegt hat:

---8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<--
sub LockFifo {
    my($fifo) = @_;
    my $lock = "$fifo.lock";

    if (open(LOCK,"<$lock")) {
        my $pid = <LOCK>;           # da
        chomp $pid;                 # sollte nochwas
        kill 1,$pid;                # eingefügt werden
        close(LOCK);
    }

    open(LOCK,">$lock") || die "Error: Could not write file '$lock' -- $!\n";
    print LOCK $$;
    close(LOCK);
}
---8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<--

Bevor ich jedoch einen bug report schreibe, hole ich mir gerade
nebenbei das Paket von slink und schau es mir dort mal an ...

So long,
Karlheinz.

[1] das war noch nicht das signify aus dem debian package sondern mein
eigenes shell script. Mit dem von Hamm sollte es damit eigentlich auch
gehen.

-- 
Man will never fly.  Space travel is merely a dream.  All aspirin is alike.
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     665


Reply to: