Hi Andrew... no need to strace...please do a 'man bash' as I suggested before :p
What you're probably missing is the behaviour of the quotes `` as a child shell. Let me give you an example, and I'm sure you'll understand better: test.sh code: #!/bin/bash echo "without quotes" ps -ef | grep test | grep -v grep echo "with quotes" echo `ps -ef | grep test | grep -v grep` test.sh output: /tmp> ./test.sh without quotes user 22533 2074 0 11:28 pts/0 00:00:00 /bin/bash ./test.sh with quotes user 22533 2074 0 11:28 pts/0 00:00:00 /bin/bash ./test.sh user 22537 22533 0 11:28 pts/0 00:00:00 /bin/bash ./test.sh /tmp> You see what's happening there? The quotes execute the command in a subshell. Thus you have a second process running...i.e. use the -gt 2 ;) james On Thu, Oct 16, 2008 at 4:21 PM, Andrew Cilia <[EMAIL PROTECTED]> wrote: > Veerrry Veerry close but not quite. I added a '-h' to the ps and it looks > good now. We still haven't figured out what is wrong yet though. Header or > no header, the grep would have taken that out. I'm suspecting some leftover > junk from procfs that hasn't been cleaned out yet before ps fetches the info > because if you do it in steps, the problem goes away. > > Who's going to strace this first? > > On Thu, 2008-10-16 at 10:18 +0200, Raphael Borg Ellul Vincenti wrote: > > Oh.... don't I luv bashisms ... > > I slightly rewrote the program and will explain why > > #!/bin/bash > # -C just gives you a list of the processes called what are you doing which > is more efficient than running multiple greps > # In this case wc -l should always return at least one line since ps -C > displays a header even when no processes exist > cntr=$(/bin/ps -C whatareyoudoing | wc -l) > #make sure cntr is not empty > if [ "x$cntr" != "x" -a $cntr -gt 1 ]; > then > zenity --info --text "Call Logger Is Already Running" > exit 1 > fi > while true > do > sleep 15m > NOW=`date +"%Y|%m|%d|%H|%M|%S"` > echo $NOW "|" `zenity --text "Attivita' :$NOW" --entry --title "X'Qed > Tagħmel Man?" --width 1000 --height 5` >> $HOME/CALLOG & > done > > exit 0 > > Did that help ? > > > On Thu, Oct 16, 2008 at 10:09 AM, Andrew Cilia <[EMAIL PROTECTED]> wrote: > > > Hiyall, > here's a curious one. I created a batch job called whatareyoudoing > which contains the text you see below. It should be a simple mechanism which > asks the user what they are doing every 15 minutes and has a safeguard so > that it does not run more than once. The problem is that the very first time > I run it, it's saying that it's running twice. This one has stumped me. Has > anyone found anything similar?? > > #!/bin/bash > cntr=`/bin/ps ax | /bin/grep whatareyoudoing | /bin/grep -v grep | wc -l` > if [ $cntr -gt 1 ]; > then > zenity --info --text "Call Logger Is Already Running" > exit 1 > fi > while true > do > sleep 15m > NOW=`date +"%Y|%m|%d|%H|%M|%S"` > echo $NOW "|" `zenity --text "Attivita' :$NOW" --entry --title "X'Qed > Tagħmel Man?" --width 1000 --height 5` >> $HOME/CALLOG & > done > > > > > The information contained in this email is confidential and may be > privileged. It is intended for the addressee only, if you are not the > intended recipient please notify the sender and delete the email > immediately. The contents of this email must not be disclosed or copied > without the senders consent. > We cannot accept any responsibility for viruses. > Any views expressed in this message are those of the individual sender, > except where the sender specifically states them to be the view of Philip > Toledo Limited > > > > _______________________________________________ > MLUG-list mailing list > [email protected] > http://linux.org.mt/cgi-bin/mailman/listinfo/mlug-list > > > > _______________________________________________ > MLUG-list mailing [EMAIL > PROTECTED]://linux.org.mt/cgi-bin/mailman/listinfo/mlug-list > > > The information contained in this email is confidential and may be > privileged. It is intended for the addressee only, if you are not the > intended recipient please notify the sender and delete the email > immediately. The contents of this email must not be disclosed or copied > without the senders consent. > We cannot accept any responsibility for viruses. > Any views expressed in this message are those of the individual sender, > except where the sender specifically states them to be the view of Philip > Toledo Limited > > _______________________________________________ > MLUG-list mailing list > [email protected] > http://linux.org.mt/cgi-bin/mailman/listinfo/mlug-list > > -- www.madvip.net
_______________________________________________ MLUG-list mailing list [email protected] http://linux.org.mt/cgi-bin/mailman/listinfo/mlug-list

