in reply to Make a perl script self aware...
Since you're already looking at the idea of file existence checks, similar ideas can be offered as well as some new ones.
1) File w/ pid written in at start of script1 - not a bad idea and while PIDs can be reused, the chance of said PID to be reused that soon is pretty unlikely (in my experience). A modification to this would be to ensure that the file is deleted upon exit or die of script1 and script2 checking the existence of the PID in script1's file in the proc table.
2) Script1 can set a global variable along with item 1 - slightly more error-checking w/o going into IPC manipulation. Have script1 fire off a global variable like SCRIPT1_START=1 and have script2 check the file for the PID as well as whether SCRIPT1_START is 1 (running) or 0 (not running) or even 2 (error encountered, script1 died w/o cleanup, etc). This way, you can check said variable at the start of script2 and know what status script1 is in.
While other ideas and concepts are much more cleaner, these are just simple Q&D's that might provide what you're looking for. This situation is very similar to the TeamSpeak server status/starts we're working with to ensure that cleanup happens and the next start is successful. Hope this helps and any constructive criticism regarding what I've posted is welcome.