Ubic::Daemon::PidState - internal object representing process info
    stored on disk
This is considered to be a non-public class. Its interface is
    subject to change without notice.
  - new()
 
  - Constructor. Does nothing by itself, doesn't read pidfile and doesn't try
      to create pid dir.
 
  - is_empty()
 
  - Check if pid dir doesn't exist yet.
 
  - init()
 
  - Create pid dir. After this method is called,
      is_empty() will start to return false value.
 
  - read()
 
  - Read daemon info from pidfile.
    
Returns undef if pidfile not found. Throws exceptions when
        content is invalid.
   
  - lock() =item
    lock($timeout)
 
  - Acquire piddir lock. Lock will be nonblocking unless 'timeout' parameter
      is set.
 
  - remove()
 
  - Remove the pidfile from the piddir. is_empty()
      will still return false.
    
This method should be called only after lock is acquired via
        lock() method (TODO - check before
      removing?).
   
  - write({ pid =
    $pid, guid => $guid })>
 
  - Write guardian pid and guid into the pidfile.
 
Vyacheslav Matyukhin <mmcleric@yandex-team.ru>
This software is copyright (c) 2016 by Yandex LLC.
This is free software; you can redistribute it and/or modify it
    under the same terms as the Perl 5 programming language system itself.