summaryrefslogtreecommitdiffabout
path: root/src/process.cc
Unidiff
Diffstat (limited to 'src/process.cc') (more/less context) (show whitespace changes)
-rw-r--r--src/process.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/process.cc b/src/process.cc
index 8a5b5d2..96c874f 100644
--- a/src/process.cc
+++ b/src/process.cc
@@ -249,8 +249,7 @@ void process::gather_proc_info() {
249 continue; 249 continue;
250 string cmd; 250 string cmd;
251 ifstream ss(s,ios::in); 251 ifstream ss(s,ios::in);
252 if(!ss) 252 if(ss) {
253 continue;
254 getline(ss,cmd); 253 getline(ss,cmd);
255 string::size_type op = cmd.find('('); 254 string::size_type op = cmd.find('(');
256 if(op==string::npos) 255 if(op==string::npos)
@@ -260,6 +259,17 @@ void process::gather_proc_info() {
260 if(cp==string::npos) 259 if(cp==string::npos)
261 continue; 260 continue;
262 cmd.erase(cp); 261 cmd.erase(cp);
262 }else{
263 r = snprintf(s,sizeof(s),"/proc/%d/status",*i);
264 if(r>=sizeof(s) || r<1)
265 continue;
266 ifstream ss(s,ios::in);
267 if(!ss)
268 continue;
269 ss >> cmd;
270 if(cmd.empty())
271 continue;
272 }
263 r = snprintf(s,sizeof(s),"/proc/%d/cmdline",*i); 273 r = snprintf(s,sizeof(s),"/proc/%d/cmdline",*i);
264 if(r>=sizeof(s) || r<1) 274 if(r>=sizeof(s) || r<1)
265 continue; 275 continue;