0

I am using a simple dbus-monitor script for gnote. The script starts when gnote starts. I modified exec parameter of desktop file to achieve this.

The problem is that I didn't find any way to kill my script after the application(i.e gnote) exits. If the application itself exits there is no point to keep script running in the background as it is not going to fetch any output.

The script looks like this:

#!/bin/bash OJECT="'org.gnome.Gnote'" IFACE="'org.gnome.Gnote.RemoteControl'" DPATH="'/org/gnome/Gnote/RemoteControl'" echo $IFACE WATCH1="type='signal',sender=${OJECT},interface=${IFACE},path=${DPATH},member='NoteAdded'" WATCH2="type='signal',sender=${OJECT},interface=${IFACE},path=${DPATH},member='NoteSaved'" WATCH3="type='signal', sender=${OJECT}, interface=${IFACE}, path=${DPATH}, member='NoteDeleted'" dbus-monitor ${WATCH2} | while read LINE; do echo $LINE | grep "note://" done 

I tried to modify it like this :

dbus-monitor ${WATCH2} | while read LINE; do echo $LINE | grep "note://" if pgrep "gnote" > /dev/null; then echo "" else break; fi done pid=`pidof -x $(basename $0)` kill $pid 

But it didn't work. I also tried using trap as explained in this question but without success.

2

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.