программы первого типа:
Программа использует pid-файлы и записывают туда PID. Далее она вычитывает список текущих процессов и удостоверяются, что 1) процесс с таким номером есть, 2) процесс с этим номером - именно эта программа. Получается, сам факт существования файла ни о чем не говорит, а номер в нем практически игнорируется. Зачем вообще создавать или проверять файлы если всё равно придется смотреть список процессов?
программы второго типа:
Программа берет flock() на /var/run/foo.pid, тоже кладет туда PID и больше, понятно, ничего не делает. Понятно зачем файл, но зачем записывать туда PID?
Я правильно понимаю, что обе эти программы делают совершенно бессмысленные вещи?