Kernel: Expose process executable paths in /proc/all

This commit is contained in:
Andreas Kling 2020-12-27 00:54:13 +01:00
parent 87492e723b
commit 21ccbc2167
Notes: sideshowbarker 2024-07-19 00:34:28 +09:00
4 changed files with 5 additions and 4 deletions

View file

@ -872,6 +872,7 @@ static OwnPtr<KBuffer> procfs$all(InodeIdentifier)
process_object.add("ppid", process.ppid().value());
process_object.add("nfds", process.number_of_open_file_descriptors());
process_object.add("name", process.name());
process_object.add("executable", process.executable() ? process.executable()->absolute_path() : "");
process_object.add("tty", process.tty() ? process.tty()->tty_name() : "notty");
process_object.add("amount_virtual", process.amount_virtual());
process_object.add("amount_resident", process.amount_resident());

View file

@ -391,10 +391,8 @@ public:
u32 m_ticks_in_kernel_for_dead_children { 0 };
Custody& current_directory();
Custody* executable()
{
return m_executable.ptr();
}
Custody* executable() { return m_executable.ptr(); }
const Custody* executable() const { return m_executable.ptr(); }
int number_of_open_file_descriptors() const;
int max_open_file_descriptors() const

View file

@ -64,6 +64,7 @@ HashMap<pid_t, Core::ProcessStatistics> ProcessStatisticsReader::get_all()
process.ppid = process_object.get("ppid").to_u32();
process.nfds = process_object.get("nfds").to_u32();
process.name = process_object.get("name").to_string();
process.executable = process_object.get("executable").to_string();
process.tty = process_object.get("tty").to_string();
process.pledge = process_object.get("pledge").to_string();
process.veil = process_object.get("veil").to_string();

View file

@ -66,6 +66,7 @@ struct ProcessStatistics {
pid_t ppid;
unsigned nfds;
String name;
String executable;
String tty;
String pledge;
String veil;