Как сделать свой собственный скрипт проверки запущенности программы при помощи PID в ОС Linux? Какой алгоритм?
Вся суть в том, что запущенные PID мы кладём в файл. Каждый раз проверяем этот файл. Если файла нет, то процесс не запущен. Если файл есть, то читаем записанный в нём PID. Шлём процессу с этим PID сигнал. Если сигнал послать удалось, то процесс работает, если же нет, то процесса больше нет и можно пускать новый, т.е. вписываем в файл PID текущего процесса и продолжаем работу. В конце работы скрипта подчищаем за собой, т.е. либо удаляем PID текущего, почти отработавшего, процесса, либо удаляем весь файл.
В общем, PID мы записываем в файл только для того, что бы потому процессу с этим PID можно было послать сигнал и проверить работает ли этот процесс. В остальном можно было бы просто вписывать в файл булев тип, чтобы определять запущен ли скрипт, но так проблематично определить его работу если он аварийно завершился и не подчистил за собой, поэтому то нам и нужны PID процессов.
Примерно так устроен типичный алгоритм проверки запущенности скрипта при помощи PID.