/******************************************************************************** * Copyright: (C) 2012 Guo Wenxue * All rights reserved. * * Filename: cp_proc.h * Description: This head file is for Linux process API * * Version: 1.0.0(11/06/2012~) * Author: Guo Wenxue * ChangeLog: 1, Release initial version on "11/06/2012 09:21:33 PM" * ********************************************************************************/ #ifndef _PROC_H_ #define _PROC_H_ #include #define PID_ASCII_SIZE 11 typedef struct proc_signal_s { int signal; unsigned stop; /* 0: Not term 1: Stop */ int threads; /* threads counter */ } proc_signal_t; extern proc_signal_t g_signal; extern void install_proc_signal(void); extern void daemonize(int nochdir, int noclose); extern int record_daemon_pid(const char *pid_file); extern pid_t get_daemon_pid(const char *pid_file); extern int check_daemon_running(const char *pid_file); extern int stop_daemon_running(const char *pid_file); extern int set_daemon_running(const char *pid_file); extern void exec_system_cmd(const char *format, ...); typedef void *(* thread_body)(void *thread_arg); extern int thread_start(pthread_t * thread_id, thread_body worker_func, void *thread_arg); extern void thread_stop(char *prompt); #endif /* ----- #ifndef _PROC_H_ ----- */