Am 17.05.2016 um 12:05 schrieb Dirk:
Zweck ist, festzustellen, ob eine ältere Instanz des Programms noch läuft. Dann soll keine neue gestartet werden.
Unabhängig von dem Bash / sh Problem kannst Du mit Deiner Lösung in Race-Conditions laufen.
Google liefert Dir passende Hinweise für solche "Highlander-tests" unter Bash, z.B. flock. Auch sollte man das "Aufräumen" am Scriptende durch trap erledigen, um bei eine Scriptabbruch keine Leichen zu hinterlassen.