1#ifndef __JSYSTEMTOOLKIT__ 
    2#define __JSYSTEMTOOLKIT__ 
   33  static const char* 
const  SH    =  
"sh";
 
   34  static const char* 
const  ZSH   =  
"zsh";
 
   35  static const char* 
const  KSH   =  
"ksh";
 
   36  static const char* 
const  BASH  =  
"bash";
 
   37  static const char* 
const  CSH   =  
"csh";
 
   38  static const char* 
const  TCSH  =  
"tcsh";
 
   57    shell << 
"ps -o %mem= -p " << pid << endl;
 
 
  102    shell << 
"ps -o %cpu= -p " << pid << endl;
 
  104    if (shell.
get(value))
 
 
  147    shell << 
"ps -o pid= -C " << process << endl;
 
 
  179    shell << 
"ps -o ppid= -p " << pid << endl;
 
 
  210    static string value = 
"";
 
  214      pid_t pid = getppid();
 
  216      shell << 
"ps -o ppid= -o args= -p " << pid << endl;
 
  218      if (shell >> pid >> value) {
 
  222        if (!value.empty() && value[0] == 
'-') {
 
  223          value = value.substr(1);
 
  228        static_cast<istream&
>(shell).clear();
 
 
  270  inline const std::string 
which(
JShell& shell, 
const char* process)
 
  276    shell << 
"which " << process << endl;
 
 
  292  inline const std::string 
which(
const char* process)
 
 
  303  inline void gprint(
const std::string& message)
 
  307    istringstream is(message);
 
  309    for (
string buffer; getline(is, buffer); ) {
 
  311      if (!buffer.empty()) {
 
  313        for (string::size_type i = 0; i != buffer.size(); ++i) {
 
  315            buffer.insert(i++, 
"\\");
 
  319        cout << 
"echo " << buffer << 
";" << endl;
 
 
  331  inline int gexit(
int status, 
const std::string& message = 
"")
 
  337    cout << 
"exit " << status << 
";" << endl;
 
 
  351  inline void set_variable(
const std::string& name, 
const std::string& value)
 
  356    static const string shell = 
getShell();
 
  358    string buffer(value);
 
  360    if (buffer.find(
' ') != string::npos) {
 
  361      buffer = 
"\"" + buffer + 
"\"";
 
  364    if        (shell.find(
ZSH)  != string::npos ||
 
  365               shell.find(
KSH)  != string::npos ||
 
  366               shell.find(
BASH) != string::npos) {
 
  368      cout << 
"export " << name << 
"=" << buffer << 
";" << endl;
 
  370    } 
else if (shell.find(
CSH)  != string::npos ||
 
  371               shell.find(
TCSH) != string::npos) {
 
  373      cout << 
"setenv " << name << 
" " << buffer << 
";" << endl;
 
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
 
Shell interaction via I/O streams.
 
Exception for system call.
 
The JShell clas can be used to interact with the shell via I/O streams.
 
JShell & flush(std::ostream &out=null)
Extracts characters from this shell and flush them to the given output stream until the prompt is rea...
 
static JShell & getInstance()
Get reference to unique instance of this class object.
 
bool getline(std::string &buffer, const char eol='\n')
Get line of text.
 
bool get(T &value)
Get value.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Auxiliary classes and methods for operating system calls.
 
float getMemoryUsage()
Get memory usage in percent of this process.
 
static const char *const ZSH
 
static const char *const TCSH
 
unsigned long long int getRAM()
Get RAM of this CPU.
 
static const char *const BASH
 
pid_t getParentID(JShell &shell, pid_t pid)
Get parent process identifier.
 
static const char *const SH
Shell names.
 
static const std::string SPECIAL_CHARACTERS
 
int gexit(int status, const std::string &message="")
Exit method.
 
static const char *const CSH
 
float getCpuUsage()
Get cpu usage in percent of this process.
 
std::string getShell()
Get shell name of this process.
 
const std::string which(JShell &shell, const char *process)
Get process path.
 
static const char *const KSH
 
void gprint(const std::string &message)
Print method.
 
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
 
pid_t getPID(JShell &shell, const char *process)
Get process identifier.
 
Auxiliary class for system information.
 
unsigned long long int getTotalRAM() const
Get total RAM.