libzypp  17.14.0
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 #include <zypp/Pathname.h>
19 #include <zypp/base/PtrTypes.h>
20 
22 namespace zypp
23 {
24 
42  {
43 
44  public:
45  class Impl;
49  struct ProcInfo
50  {
51  std::string pid;
52  std::string ppid;
53  std::string puid;
54  std::string login;
55  std::string command;
56  std::vector<std::string> files;
57 
62  std::string service() const;
63  };
64 
65  typedef size_t size_type;
67  typedef std::vector<ProcInfo>::const_iterator const_iterator;
68 
69  public:
75  CheckAccessDeleted( bool doCheck_r = true );
76 
77  public:
90  size_type check( bool verbose_r = false );
91 
99  size_type check( const Pathname &lsofOutput_r, bool verbose_r = false );
100 
101  bool empty() const;
102  size_type size() const;
103  const_iterator begin() const;
104  const_iterator end() const;
105 
110  void setDebugOutputFile (const Pathname &filename_r);
111 
112  public:
117  static std::string findService( pid_t pid_r );
118  private:
120  };
122 
124  std::ostream & operator<<( std::ostream & str, const CheckAccessDeleted & obj );
125 
127  std::ostream & operator<<( std::ostream & str, const CheckAccessDeleted::ProcInfo & obj );
128 
130 } // namespace zypp
132 #endif // ZYPP_MISC_CHECKACCESSDELETED_H
Data about one running process accessing deleted files.
void setDebugOutputFile(const Pathname &filename_r)
Writes all filtered process entries that make it into the final set into a file specified by filename...
std::string command
process command name
String related utilities and Regular expression matching.
size_type check(bool verbose_r=false)
Check for running processes which access deleted executables or libraries.
RWCOW_pointer< Impl > _pimpl
const_iterator begin() const
std::ostream & operator<<(std::ostream &str, const Exception &obj)
Definition: Exception.cc:147
std::string puid
process user ID
const_iterator end() const
Check for running processes which access deleted executables or libraries.
CheckAccessDeleted(bool doCheck_r=true)
Default ctor performs check immediately.
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
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
std::string service() const
Guess if command was started by a systemd service script.
static std::string findService(pid_t pid_r)
Guess if pid was started by a systemd service script.