Tools to manage processes.
More...
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/file.h>
#include <malloc.h>
#include <sys/mman.h>
#include <time.h>
#include <signal.h>
#include <termios.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <ncurses.h>
#include <fcntl.h>
#include <ctype.h>
#include <dirent.h>
#include <wchar.h>
#include <locale.h>
#include <pthread.h>
#include "CLIcore.h"
#include <00CORE/00CORE.h>
#include "COREMOD_tools/COREMOD_tools.h"
#include "info/info.h"
#include <processtools.h>
|
errno_t | processinfo_procdirname (char *procdname) |
|
PROCESSINFO * | processinfo_setup (char *pinfoname, char descriptionstring[200], char msgstring[200], const char *functionname, const char *filename, int linenumber) |
|
errno_t | processinfo_error (PROCESSINFO *processinfo, char *errmsgstring) |
|
errno_t | processinfo_loopstart (PROCESSINFO *processinfo) |
|
int | processinfo_loopstep (PROCESSINFO *processinfo) |
|
int | processinfo_compute_status (PROCESSINFO *processinfo) |
|
long | processinfo_shm_list_create () |
|
PROCESSINFO * | processinfo_shm_create (const char *pname, int CTRLval) |
|
PROCESSINFO * | processinfo_shm_link (const char *pname, int *fd) |
|
int | processinfo_shm_close (PROCESSINFO *pinfo, int fd) |
|
int | processinfo_cleanExit (PROCESSINFO *processinfo) |
|
int | processinfo_SIGexit (PROCESSINFO *processinfo, int SignalNumber) |
|
int | processinfo_WriteMessage (PROCESSINFO *processinfo, const char *msgstring) |
|
int | processinfo_CatchSignals () |
|
int | processinfo_ProcessSignals (PROCESSINFO *processinfo) |
|
int | processinfo_exec_start (PROCESSINFO *processinfo) |
|
int | processinfo_exec_end (PROCESSINFO *processinfo) |
|
static errno_t | initncurses () |
|
int | GetNumberCPUs (PROCINFOPROC *pinfop) |
|
static int | GetCPUloads (PROCINFOPROC *pinfop) |
|
static int | PIDcollectSystemInfo (PROCESSINFODISP *pinfodisp, int level) |
|
int | processinfo_CPUsets_List (STRINGLISTENTRY *CPUsetList) |
|
int | processinfo_SelectFromList (STRINGLISTENTRY *StringList, int NBelem) |
|
void * | processinfo_scan (void *thptr) |
|
void | processinfo_CTRLscreen_atexit () |
|
void | processinfo_CTRLscreen_handle_winch (int __attribute__((unused)) sig) |
|
errno_t | processinfo_CTRLscreen () |
|
Tools to manage processes.
Manages structure PROCESSINFO.
- See also
- Process Info Structure (processinfo)
◆ _GNU_SOURCE
◆ CMDPROC_CONTEXTSWITCH
#define CMDPROC_CONTEXTSWITCH 1 |
◆ CMDPROC_CPUUSE
◆ CMDPROC_MEMUSE
◆ CMDPROC_PROCSTAT
#define CMDPROC_PROCSTAT 1 |
◆ NBtopMax
◆ PROCESSINFO_ENABLED
#define PROCESSINFO_ENABLED |
◆ SHAREDPROCDIR
#define SHAREDPROCDIR data.shmdir |
◆ errno_t
◆ GetCPUloads()
◆ GetNumberCPUs()
Purpose
detects the number of CPU and fill the cpuids
Description
populates cpuids array with the global system PU numbers in the physical order: [PU0 of CPU0, PU1 of CPU0, ... PU0 of CPU1, PU1 of CPU1, ...]
◆ initncurses()
◆ PIDcollectSystemInfo()
◆ processinfo_CatchSignals()
int processinfo_CatchSignals |
( |
| ) |
|
◆ processinfo_cleanExit()
◆ processinfo_compute_status()
int processinfo_compute_status |
( |
PROCESSINFO * |
processinfo | ) |
|
◆ processinfo_CPUsets_List()
Purpose
Creates list of CPU sets
Description
Uses command: cset set -l
◆ processinfo_CTRLscreen()
Purpose
Control screen for PROCESSINFO structures
Description
Relies on ncurses for display
Display
◆ processinfo_CTRLscreen_atexit()
void processinfo_CTRLscreen_atexit |
( |
| ) |
|
◆ processinfo_CTRLscreen_handle_winch()
void processinfo_CTRLscreen_handle_winch |
( |
int __attribute__((unused)) |
sig | ) |
|
◆ processinfo_error()
◆ processinfo_exec_end()
◆ processinfo_exec_start()
int processinfo_exec_start |
( |
PROCESSINFO * |
processinfo | ) |
|
◆ processinfo_loopstart()
◆ processinfo_loopstep()
◆ processinfo_procdirname()
errno_t processinfo_procdirname |
( |
char * |
procdname | ) |
|
◆ processinfo_ProcessSignals()
int processinfo_ProcessSignals |
( |
PROCESSINFO * |
processinfo | ) |
|
◆ processinfo_scan()
void* processinfo_scan |
( |
void * |
thptr | ) |
|
Purpose
Scan function for processinfo CTRL
Description
Runs in background loop as thread initiated by processinfo_CTRL
Build a time-sorted list of processes
◆ processinfo_SelectFromList()
int processinfo_SelectFromList |
( |
STRINGLISTENTRY * |
StringList, |
|
|
int |
NBelem |
|
) |
| |
◆ processinfo_setup()
PROCESSINFO* processinfo_setup |
( |
char * |
pinfoname, |
|
|
char |
descriptionstring[200], |
|
|
char |
msgstring[200], |
|
|
const char * |
functionname, |
|
|
const char * |
filename, |
|
|
int |
linenumber |
|
) |
| |
◆ processinfo_shm_close()
int processinfo_shm_close |
( |
PROCESSINFO * |
pinfo, |
|
|
int |
fd |
|
) |
| |
◆ processinfo_shm_create()
PROCESSINFO* processinfo_shm_create |
( |
const char * |
pname, |
|
|
int |
CTRLval |
|
) |
| |
Create PROCESSINFO structure in shared memory
The structure holds real-time information about a process, so its status can be monitored and controlled See structure PROCESSINFO in CLLIcore.h for details
◆ processinfo_shm_link()
PROCESSINFO* processinfo_shm_link |
( |
const char * |
pname, |
|
|
int * |
fd |
|
) |
| |
◆ processinfo_shm_list_create()
long processinfo_shm_list_create |
( |
| ) |
|
Purpose
Read/create processinfo list
Description
If list does not exist, create it and return index = 0
If list exists, return first available index
◆ processinfo_SIGexit()
int processinfo_SIGexit |
( |
PROCESSINFO * |
processinfo, |
|
|
int |
SignalNumber |
|
) |
| |
◆ processinfo_WriteMessage()
int processinfo_WriteMessage |
( |
PROCESSINFO * |
processinfo, |
|
|
const char * |
msgstring |
|
) |
| |
◆ CTRLscreenExitLine
int CTRLscreenExitLine = 0 |
|
static |
◆ pinfolist
◆ scantime_CPUload
◆ scantime_CPUpcnt
◆ scantime_cpuset
◆ scantime_pstree
◆ scantime_stat
◆ scantime_status
◆ scantime_top
◆ t1
◆ t2
◆ tdiff
◆ wcol
◆ wcolmax
◆ wrow