Программное обеспечение Linux, в общем и целом не заботится об эксклюзивности программ, только о ресурсах, которые они используют. «Забота» чаще всего обеспечивается реализацией (например, инфраструктура дистрибутива).
Например, если вы хотите запустить программу, но эта программа блокирует или превращает зомби, и у вас нет возможности убить его, или он работает как другой пользователь, выполняющий какую-то другую функцию. Почему программа должна заботиться о том, запущена ли другая копия? Иметь это только кажется ненужным ограничением.
Если это процесс, который открывает сокет (например, порт TCP), программа может завершиться ошибкой, если она не может открыть сокет. Если ему нужен монопольный доступ к файлу, отключите его, если он не сможет его получить. Поддержите PID-файл, но не делайте его обязательным.
Вы увидите эту методологию во всем программном обеспечении GNU, которое является частью того, что делает его таким универсальным.