Further tweaks to the already running check
authorAlan J. Pippin <ajp@pippin.pippins.net>
Fri, 4 Jun 2010 16:31:59 +0000 (10:31 -0600)
committerAlan J. Pippin <ajp@pippins.net>
Fri, 4 Jun 2010 16:31:59 +0000 (10:31 -0600)
rip_dvd.wrap

index 3c09442de0d8d2cd2f4c3a87adfa14d5e43803ae..8454da76836bad74d377c4dd7f2d107cb575ac13 100755 (executable)
@@ -11,9 +11,17 @@ SCRIPT_NAME1="rip_dvd.wrap"
 SCRIPT_NAME2="xterm -T Ripping"
 MY_PID=$$
 PARENT_PID=$PPID
-ps -ef | grep -e "$SCRIPT_NAME1" -e "$SCRIPT_NAME2" | grep -v grep | grep -v $MY_PID | grep -v $PARENT_PID
+GRAND_PID=$(ps -ef | grep "^[a-zA-Z]* [ ]* $PARENT_PID " | awk '{print $3}')
+GREAT_GRAND_PID=$(ps -ef | grep "^[a-zA-Z]* [ ]* $GRAND_PID " | awk '{print $3}')
+ps -ef | grep -e "$SCRIPT_NAME1" -e "$SCRIPT_NAME2" | grep -v grep | grep -v $MY_PID | grep -v $PARENT_PID | grep -v $GRAND_PID
 if [[ $? == 0 ]]; then
-  echo -e "-E- Found an instance of this script already running. Aborting this additional attempt to rip...\n"
+  echo -e "-E- Found an instance of this script already running. Aborting this additional attempt to rip..."
+  echo -e "    my_pid=$MY_PID parent_pid=$PARENT_PID\n"
+  CALLER=$(ps -ef | grep "^[a-zA-Z]* [ ]* $PPID " | awk '{print $3}')
+  CALLER_CALLER=$(ps -ef | grep "^[a-zA-Z]* [ ]* $CALLER " | awk '{print $3}')
+  echo I was called from $CALLER who was called by $CALLER_CALLER
+  ps -ef | grep $MY_PID | grep -v grep
+  ps -ef | grep $PARENT_PID | grep -v grep
   exit 1
 fi