libzypp  13.10.6
CheckAccessDeleted.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_MISC_CHECKACCESSDELETED_H
13 #define ZYPP_MISC_CHECKACCESSDELETED_H
14 
15 #include <iosfwd>
16 #include <vector>
17 #include <string>
18 
20 namespace zypp
21 {
22 
35  {
36 
37  public:
41  struct ProcInfo
42  {
43  std::string pid;
44  std::string ppid;
45  std::string puid;
46  std::string login;
47  std::string command;
48  std::vector<std::string> files;
49 
55  std::string service() const;
56  };
57 
58  typedef size_t size_type;
60  typedef std::vector<ProcInfo>::const_iterator const_iterator;
61 
62  public:
68  CheckAccessDeleted( bool doCheck_r = true )
69  { if ( doCheck_r ) check(); }
70 
71  public:
84  size_type check( bool verbose_r = false );
85 
86  bool empty() const { return _data.empty(); }
87  size_type size() const { return _data.size(); }
88  const_iterator begin() const { return _data.begin(); }
89  const_iterator end() const { return _data.end(); }
90 
91  public:
97  static std::string findService( const char * command_r );
99  static std::string findService( const std::string & command_r );
101  static std::string findService( const Pathname & command_r );
103  static std::string findService( pid_t pid_r );
104 
105  private:
106  std::vector<ProcInfo> _data;
107  };
109 
111  std::ostream & operator<<( std::ostream & str, const CheckAccessDeleted & obj );
112 
114  std::ostream & operator<<( std::ostream & str, const CheckAccessDeleted::ProcInfo & obj );
115 
117 } // namespace zypp
119 #endif // ZYPP_MISC_CHECKACCESSDELETED_H
Data about one running process accessing deleted files.
std::vector< ProcInfo > _data
std::string service() const
Guess if command was started by an /etc/init.d/ script.
std::string command
process command name
size_type check(bool verbose_r=false)
Check for running processes which access deleted executables or libraries.
std::ostream & operator<<(std::ostream &str, const Exception &obj)
Definition: Exception.cc:120
std::string puid
process user ID
Check for running processes which access deleted executables or libraries.
const_iterator end() const
CheckAccessDeleted(bool doCheck_r=true)
Default ctor performs check immediately.
const_iterator begin() const
std::vector< ProcInfo >::const_iterator const_iterator
std::string login
process login name
static std::string findService(const char *command_r)
Guess if command was started by an /etc/init.d/ script.
std::vector< std::string > files
list of deleted executables or libraries accessed
std::string ppid
parent process ID