Суть в следующем. На юникс сервере висит в памяти perl-скрипт, который иногда что-то делает. Есть другой sh-скрипт, который при запуске должен понять, процессит сейчас что-то вышеуказанный perl-скрипт или нет и, в зависимости от результата, выполнять разные действия. В голову приходит только вариант с файлом, куда perl скрипт, начиная работу пишет "1", а прекращая -- "0". Соответственно, sh-скрипт при запуске смотрит в этот же файл и понимает, "работает" сейчас perl-скрипт или нет. Или взрослые дяди по другому решают такие вопросы?
lock-файл это вполне нормальное решение. А главное - универсальное для мониторящего скрипта. Можно только подумать не записывать 0, а удалять файл. И не забыть расставить все это дело во всякие ексепшны и прочие точки возможного завершения скрипта.