18-21 Мы укорачиваем файл до 0 байт, а затем записываем в него строку с нашим идентификатором. Причина, по которой нужно укорачивать файл, заключается в том, что у предыдущего экземпляра демона идентификатор мог быть представлен более длинным числом, чем у данного, поэтому в результате в файле может образоваться смесь двух идентификаторов. Вот результат работы программы из листинга 9.8: Существуют и другие способы предотвращения запуска нескольких экземпляров демонов, например семафоры. Преимущество данного метода в том, что многим демонам и так приходится записывать в файл свои идентификаторы, а при досрочном завершении работы демона блокировка с файла снимается автоматически.Запись идентификатора процесса в файл
solaris % onedaemon& запускаем первый экземпляр
[1] 22388
solaris % cat pidfile проверяем идентификатор
22388
solaris % onedaemon пытаемся запустить второй экземпляр
unable to lock pidfile, is onedaemon already running?