mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:47:44 +00:00
Improve ps output.
This commit is contained in:
parent
b1ff62f605
commit
4259ffb080
1 changed files with 20 additions and 4 deletions
|
@ -178,19 +178,35 @@ ByteBuffer procfs$kmalloc()
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char* toString(Task::State state)
|
||||||
|
{
|
||||||
|
switch (state) {
|
||||||
|
case Task::Invalid: return "Invalid";
|
||||||
|
case Task::Runnable: return "Runnable";
|
||||||
|
case Task::Running: return "Running";
|
||||||
|
case Task::Terminated: return "Term";
|
||||||
|
case Task::Crashing: return "Crash";
|
||||||
|
case Task::Exiting: return "Exit";
|
||||||
|
case Task::BlockedSleep: return "Sleep";
|
||||||
|
case Task::BlockedWait: return "Wait";
|
||||||
|
case Task::BlockedRead: return "Read";
|
||||||
|
}
|
||||||
|
ASSERT_NOT_REACHED();
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
ByteBuffer procfs$summary()
|
ByteBuffer procfs$summary()
|
||||||
{
|
{
|
||||||
InterruptDisabler disabler;
|
InterruptDisabler disabler;
|
||||||
auto tasks = Task::allTasks();
|
auto tasks = Task::allTasks();
|
||||||
auto buffer = ByteBuffer::createUninitialized(tasks.size() * 256);
|
auto buffer = ByteBuffer::createUninitialized(tasks.size() * 256);
|
||||||
char* ptr = (char*)buffer.pointer();
|
char* ptr = (char*)buffer.pointer();
|
||||||
ptr += ksprintf(ptr, "PID OWNER STATE PPID NSCHED FDS NAME\n");
|
ptr += ksprintf(ptr, "PID OWNER STATE PPID NSCHED FDS NAME\n");
|
||||||
for (auto* task : tasks) {
|
for (auto* task : tasks) {
|
||||||
ptr += ksprintf(ptr, "%w %w:%w %b %w %x %w %s\n",
|
ptr += ksprintf(ptr, "% 5u % 4u % 8s % 5u % 10u % 3u %s\n",
|
||||||
task->pid(),
|
task->pid(),
|
||||||
task->uid(),
|
task->uid(),
|
||||||
task->gid(),
|
toString(task->state()),
|
||||||
task->state(),
|
|
||||||
task->parentPID(),
|
task->parentPID(),
|
||||||
task->timesScheduled(),
|
task->timesScheduled(),
|
||||||
task->fileHandleCount(),
|
task->fileHandleCount(),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue