I have no idea where the double entries (pid 457/458 and 1221/1222) come from. Any idea what's going on here?
Cron has several enviromental variables configured in /etc/crontab, specifically SHELL and PATH. The default value for SHELL is /bin/sh. So unless this is changed or otherwise specified in a script, cron will execute commands using sh.
sh /opt/gps.sh
#!/bin/sh gpscon runs=3 --script > /home/user/MyDocs/gps2.txt
#!/bin/sh STR=`gpscon runs=3 --script` LAT=`echo $STR | cut -d " " -f 2 | cut -d ";" -f 1` LON=`echo $STR | cut -d " " -f 4 | cut -d ";" -f 1` ALT=`echo $STR | cut -d " " -f 6` STR={\"name\":\"`hostname`\",\"time\":`date +%s`,\"lon\":$LON,\"lat\":$LAT echo $STR > /home/user/MyDocs/gps2.log
14554 user 2084 S /bin/ash -c sh /opt/gps.sh 14555 user 2084 S sh /opt/gps.sh 14556 user 27632 S gpscon runs=3 --script 14560 user 2088 S grep gps