libzypp  15.28.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 
54  std::string service() const;
55  };
56 
57  typedef size_t size_type;
59  typedef std::vector<ProcInfo>::const_iterator const_iterator;
60 
61  public:
67  CheckAccessDeleted( bool doCheck_r = true )
68  { if ( doCheck_r ) check(); }
69 
70  public:
83  size_type check( bool verbose_r = false );
84 
85  bool empty() const { return _data.empty(); }
86  size_type size() const { return _data.size(); }
87  const_iterator begin() const { return _data.begin(); }
88  const_iterator end() const { return _data.end(); }
89 
90  public:
95  static std::string findService( pid_t pid_r );
96 
97  private:
98  std::vector<ProcInfo> _data;
99  };
101 
103  std::ostream & operator<<( std::ostream & str, const CheckAccessDeleted & obj );
104 
106  std::ostream & operator<<( std::ostream & str, const CheckAccessDeleted::ProcInfo & obj );
107 
109 } // namespace zypp
111 #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 a systemd service 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
std::vector< std::string > files
list of deleted executables or libraries accessed
std::string ppid
parent process ID
static std::string findService(pid_t pid_r)
Guess if pid was started by a systemd service script.