Evo C++ Library v0.5.1
Classes | Namespaces | Macros | Typedefs | Functions | Variables
process.h File Reference

Evo process helpers. More...

#include "impl/sys.h"
#include "maplist.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <signal.h>
#include <syslog.h>

Go to the source code of this file.

Classes

struct  Signal::Main
 Helper for common shutdown signal handling in program main(). More...
 
struct  Signal::MainServer< T >
 Helper for common server shutdown signal handling in program main(). More...
 
class  Signal
 Process signal handling. More...
 

Namespaces

 evo
 Evo C++ Library namespace.
 

Macros

#define EVO_TEMP_LOG_ERR(MSG, ...)
 
#define INCL_evo_process_h
 

Typedefs

typedef pid_t ProcessId
 Process ID type. More...
 

Functions

bool daemonize (uint flags=0)
 Daemonize current process to run in background as a service (Linux/Unix). More...
 
ProcessId get_pid ()
 Get current process ID. More...
 

Variables

static const uint DAEMONIZE_NO_CD = 0x01
 Flag to skip changing current directory – see daemonize() More...
 
static const uint DAEMONIZE_NO_EXIT = 0x04
 Flag to return false on error instead of calling exit(1) – see daemonize() More...
 
static const uint DAEMONIZE_NO_REDIR = 0x02
 Flag to skip std in/out/err redirects – see daemonize() More...
 
static const uint DAEMONIZE_USE_STDERR = 0x08
 Flag to use stderr instead of syslog for writing errors – see daemonize() More...
 

Detailed Description

Evo process helpers.

Macro Definition Documentation

◆ EVO_TEMP_LOG_ERR

#define EVO_TEMP_LOG_ERR (   MSG,
  ... 
)
Value:
{ \
if (use_stderr) \
fprintf(stderr, "daemonize: " MSG "\n", __VA_ARGS__); \
else \
syslog(LOG_ERR, "fork() failed: %s", strerror(errno)); \
}

◆ INCL_evo_process_h

#define INCL_evo_process_h