#include "shell.hpp" // list all running/suspended jobs void shell::c_ps (std::string args) { // get list of jobs std::vector ids = jobs_.list (); // iterate list for ( std::size_t i = 0; i < ids.size (); i++ ) { int pid = ids[i]; // get details from process table std::string jobid = jobs_.get_jobid (pid); std::string command = jobs_.get_command (pid); saga::job::job job = jobs_.get_job (pid); // get job state saga::job::state state = saga::job::Unknown; // FIXME: get job state // show what we found std::cout << " [" << pid << "] \t " << jobid << " \t " << " [" << state_to_string (state) << "] \t " << command << std::endl; // purge old (== final) entries if ( state == saga::job::Done || state == saga::job::Failed || state == saga::job::Canceled || state == saga::job::Unknown ) { jobs_.del (pid); } } return; }