libzypp  17.23.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 #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
zypp::CheckAccessDeleted::const_iterator
std::vector< ProcInfo >::const_iterator const_iterator
Definition: CheckAccessDeleted.h:67
zypp::CheckAccessDeleted
Check for running processes which access deleted executables or libraries.
Definition: CheckAccessDeleted.h:41
zypp::CheckAccessDeleted::findService
static std::string findService(pid_t pid_r)
Guess if pid was started by a systemd service script.
Definition: CheckAccessDeleted.cc:515
zypp::CheckAccessDeleted::setDebugOutputFile
void setDebugOutputFile(const Pathname &filename_r)
Writes all filtered process entries that make it into the final set into a file specified by filename...
Definition: CheckAccessDeleted.cc:510
PtrTypes.h
zypp::CheckAccessDeleted::begin
const_iterator begin() const
Definition: CheckAccessDeleted.cc:500
zypp::CheckAccessDeleted::empty
bool empty() const
Definition: CheckAccessDeleted.cc:490
Pathname.h
zypp::CheckAccessDeleted::ProcInfo::login
std::string login
process login name
Definition: CheckAccessDeleted.h:54
zypp::CheckAccessDeleted::ProcInfo::ppid
std::string ppid
parent process ID
Definition: CheckAccessDeleted.h:52
zypp::CheckAccessDeleted::ProcInfo::service
std::string service() const
Guess if command was started by a systemd service script.
Definition: CheckAccessDeleted.cc:522
zypp::CheckAccessDeleted::check
size_type check(bool verbose_r=false)
Check for running processes which access deleted executables or libraries.
Definition: CheckAccessDeleted.cc:427
zypp::CheckAccessDeleted::end
const_iterator end() const
Definition: CheckAccessDeleted.cc:505
zypp::CheckAccessDeleted::size_type
size_t size_type
Definition: CheckAccessDeleted.h:65
zypp::CheckAccessDeleted::Impl
Definition: CheckAccessDeleted.cc:193
zypp::CheckAccessDeleted::_pimpl
RWCOW_pointer< Impl > _pimpl
Definition: CheckAccessDeleted.h:119
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
zypp::CheckAccessDeleted::ProcInfo::puid
std::string puid
process user ID
Definition: CheckAccessDeleted.h:53
zypp::CheckAccessDeleted::ProcInfo::command
std::string command
process command name
Definition: CheckAccessDeleted.h:55
zypp::CheckAccessDeleted::CheckAccessDeleted
CheckAccessDeleted(bool doCheck_r=true)
Default ctor performs check immediately.
Definition: CheckAccessDeleted.cc:367
zypp::operator<<
std::ostream & operator<<(std::ostream &str, const Exception &obj)
Definition: Exception.cc:147
zypp::filesystem::Pathname
Pathname.
Definition: Pathname.h:44
zypp::CheckAccessDeleted::ProcInfo::files
std::vector< std::string > files
list of deleted executables or libraries accessed
Definition: CheckAccessDeleted.h:56
zypp::CheckAccessDeleted::ProcInfo::pid
std::string pid
process ID
Definition: CheckAccessDeleted.h:51
zypp::CheckAccessDeleted::value_type
ProcInfo value_type
Definition: CheckAccessDeleted.h:66
zypp::RWCOW_pointer< Impl >
str
String related utilities and Regular expression matching.
zypp::CheckAccessDeleted::size
size_type size() const
Definition: CheckAccessDeleted.cc:495
zypp::CheckAccessDeleted::ProcInfo
Data about one running process accessing deleted files.
Definition: CheckAccessDeleted.h:49