Відповіді:
pid-файли записуються деякими програмами для запису свого ідентифікатора процесу під час їх запуску. Це має кілька цілей:
kill
команду, чи хочеться її закінчити.Лише наявність pid-файлу не гарантує, що конкретний ідентифікатор процесу працює, звичайно, тому цей метод не є 100% надійним, але "досить хорошим" у багатьох випадках. Перевірка наявності певного PID в таблиці процесів не є повністю портативною для UNIX-подібних операційних систем, якщо ви не хочете залежати від ps
утиліти, яку, можливо, не бажано викликати в усіх випадках (і я вважаю, деякі операційні системи, схожі на UNIX) впроваджувати по- ps
різному).
Файли блокування використовуються програмами для забезпечення двох (добре сприйнятих) окремих екземплярів програми, яка може працювати одночасно в одній системі, не отримуючи доступу до чогось іншого одночасно. Ідея полягає в тому, щоб програма отримала доступ до свого ресурсу, вона перевіряє наявність файлу блокування, і якщо файл блокування існує, помилка або вичікують його, або чекають, поки він вийде. Коли його не існує, програма, яка хоче «придбати» ресурс, створює файл, і тоді інші екземпляри, які можуть з’явитися пізніше, будуть чекати, коли цей процес буде виконаний з ним. Звичайно, це передбачає, що програма "придбання" блокування насправді звільняє її і не забуває видалити файл блокування.
Це працює, тому що файлова система в усіх UNIX-подібних операційних системах здійснює серіалізацію , а значить, лише одна зміна файлової системи насправді відбувається в будь-який момент часу. На зразок замків із базами даних тощо.
Ці файли часто використовуються демонами, які слід запускати лише один раз у системі. Файл PID зазвичай містить ідентифікаційний номер процесу вже запущеної та запущеної програми, якщо такий існує. Крім того, коли він запускається, він створює файл блокування. Поки існує файл блокування, він не запускатиме ще один без втручання користувача. Якщо файл блокування існує, а ідентифікатор процесу, згаданий у файлі pid, не працює, демон вважається в "мертвому" стані, тобто він повинен працювати, але, ймовірно, не відбувається через збій або неправильне відключення . Це може ініціювати спеціальний сценарій запуску / перезавантаження для деяких програм. Якщо правильно вимкнути його, вилучите файл блокування.
Файл PID міститиме ідентифікатор процесу запущеного процесу. Це має різні види використання; ви можете прочитати його і перевірити, чи процес все ще працює, і вжити відповідних дій або прочитати його і вбити процес.
Файл блокування, швидше за все, специфічний для програми. Файли блокування використовуються для вказівки того, що деякий ресурс використовується і що процес, який хоче отримати доступ, повинен зачекати, поки ресурс буде звільнений, перш ніж продовжувати.
.lck
файл у каталозі VM, інакше він скаже вам, що він використовується, коли ви намагаєтеся його запустити.