From c09b829510dd49d1b335d1df2da8aa9164f83f57 Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Fri, 21 Jun 2024 06:30:05 +0100 Subject: [PATCH] Autosave: 2024-06-21 06:30:05 --- .zk/notebook.db | Bin 3829760 -> 3829760 bytes zk/Processes.md | 85 ++++++++---------------------------------------- zk/ps.md | 78 ++++++++++++++++++++++++++++++++++++++++++++ zk/systemd.md | 14 ++++---- 4 files changed, 99 insertions(+), 78 deletions(-) create mode 100644 zk/ps.md diff --git a/.zk/notebook.db b/.zk/notebook.db index cb86fd470f55652faabd6432566f29c940f15962..e9f319627702aac0ff8ee703a863562243ef2be1 100644 GIT binary patch delta 26158 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 -
pid
-
Process ID: every currently running process has a unique ID
-
tty
-
The terminal device where the process is running
-
Time
-
The amount of CPU time in minutes and seconds that the process has used so far. The total amount of time that the process has spent running instructions on the processor.
-
cmd
-
The command used to run the program. Note this can change during the running of the program.
- - -## Modifiers - -
-
ps x
-
Show all running processes
-
ps ax
-
Show all processes not just the ones you, the current user, own
-
ps u
-
Show detailed info on processes
-
ps w
-
Show full command names
-
- -## Process termination - -The general schema is: `kill [pid]`. This allows for process clean-up. If this -doesn't succeed you can force with `KILL [pid]` which will terminate the process -immediately but is obviously more risky. - -We can also start/stop processes with modifiers on `kill`: - -- `kill -STOP pid` -- `kill -CONT pid` +## Related notes diff --git a/zk/ps.md b/zk/ps.md new file mode 100644 index 0000000..357402f --- /dev/null +++ b/zk/ps.md @@ -0,0 +1,78 @@ +--- +tags: + - shell + - Linux +--- + +# Processes (`ps`) + +`ps` allows us to control [user processes](The_kernel.md) +from the shell. + +The command in its most minimal application returns the following + +``` + PID TTY TIME CMD + 2437 pts/2 00:00:01 zsh + 7112 pts/2 00:00:00 ps +``` + +With the `-e` modifier we can list more processes: + +``` + PID TTY TIME CMD + 1 ? 00:00:05 systemd + 2 ? 00:00:00 kthreadd + 3 ? 00:00:00 rcu_gp + 4 ? 00:00:00 rcu_par_gp + 5 ? 00:00:00 netns + 7 ? 00:00:00 kworker/0:0H-events_highpri + 9 ? 00:00:00 mm_percpu_wq + 11 ? 00:00:00 rcu_tasks_kthread + 12 ? 00:00:00 rcu_tasks_rude_kthread + 13 ? 00:00:00 rcu_tasks_trace_kthread + 14 ? 00:00:08 ksoftirqd/0 + 15 ? 00:03:20 rcu_preempt + 16 ? 00:00:00 rcub/0 + 17 ? 00:00:00 migration/0 + 18 ? 00:00:00 idle_inject/0 + 20 ? 00:00:00 cpuhp/0 + 21 ? 00:00:00 cpuhp/1 + 22 ? 00:00:00 idle_inject/1 + 23 ? 00:00:00 migration/1 +``` + +
+
pid
+
Process ID: every currently running process has a unique ID
+
tty
+
The terminal device where the process is running
+
Time
+
The amount of CPU time in minutes and seconds that the process has used so far. The total amount of time that the process has spent running instructions on the processor.
+
cmd
+
The command used to run the program. Note this can change during the running of the program.
+
+ +## Modifiers + +
+
ps x
+
Show all running processes
+
ps ax
+
Show all processes not just the ones you, the current user, own
+
ps u
+
Show detailed info on processes
+
ps w
+
Show full command names
+
+ +## Process termination + +The general schema is: `kill [pid]`. This allows for process clean-up. If this +doesn't succeed you can force with `KILL [pid]` which will terminate the process +immediately but is obviously more risky. + +We can also start/stop processes with modifiers on `kill`: + +- `kill -STOP pid` +- `kill -CONT pid` diff --git a/zk/systemd.md b/zk/systemd.md index 170db17..1756fb8 100644 --- a/zk/systemd.md +++ b/zk/systemd.md @@ -10,13 +10,13 @@ tags: Once the [boot process](Boot_process.md) has completed and the bootloader has located the kernel and injected it into memory the first user space program -runs: `init` (for _initialisation_). `init` is a [daemon](Daemons.md) process -that continues running until shutdown and is responsible for starting all the -processes that are prerequisites for user space. For example: network -connections, disk access, user logins etc. `init` is the parent of all -processes: PID1. Whilst it does a lot of its work in quick succession at boot -time it is not limited to the this stage of the lifescycle but runs continuously -in reponse to new user events. +runs: `init` (for _initialisation_). `init` is a [daemon](Daemons.md) +[process](./Processes.md) that continues running until shutdown and is +responsible for starting all the processes that are prerequisites for user +space. For example: network connections, disk access, user logins etc. `init` is +the parent of all processes: PID1. Whilst it does a lot of its work in quick +succession at boot time it is not limited to the this stage of the lifescycle +but runs continuously in reponse to new user events. On Linux systems `systemd` is used to implement `init`.