88 lines
5.4 KiB
Markdown
88 lines
5.4 KiB
Markdown
# Домашнее задание 12
|
||
|
||
## Cкрипт как замена ps ax
|
||
|
||
Для выполнение задания используется Ubuntu Server 24.04
|
||
|
||
|
||
### Суть работы скрипта
|
||
|
||
Пишем скрипт, который будет анализировать информацию из /proc и выводить в консоль.
|
||
Мой скрипт будет выводить следующую информацию:
|
||
1. Имя пользователя, от имени которого запущен процесс.
|
||
2. PID процесса
|
||
3. PPID (pid родителя)
|
||
4. Процессорное время использования
|
||
5. Потребление оперативной памяти
|
||
6. Текущий статус
|
||
7. Командная строка или имя процесса
|
||
|
||
Все полученные данные, сортируем по PID
|
||
|
||
|
||
Копируем скрипт [cкрипт myps.sh](myps.sh)
|
||
|
||
Даем права на запуск
|
||
|
||
```bash
|
||
nimda@ubuntu:~$ sudo chmod +x /home/nimda/myps.sh
|
||
```
|
||
|
||
Запускаем скрипт, и смотрим на вывод
|
||
```bash
|
||
nimda@ubuntu:~$ ./myps.sh
|
||
User PID PPID CPU_Time Memory Status Command
|
||
------------------------------------------------------------------------------------------
|
||
root 1 0 00:02 13240 S /sbin/init
|
||
root 2 0 00:00 0 S [kthreadd]
|
||
root 3 2 00:00 0 S [pool_workqueue_release]
|
||
root 4 2 00:00 0 I [kworker/R-rcu_g]
|
||
root 5 2 00:00 0 I [kworker/R-rcu_p]
|
||
root 6 2 00:00 0 I [kworker/R-slub_]
|
||
root 7 2 00:00 0 I [kworker/R-netns]
|
||
root 11 2 00:00 0 I [kworker/u256:0-ext4-rsv-conversion]
|
||
root 12 2 00:00 0 I [kworker/R-mm_pe]
|
||
root 13 2 00:00 0 I [rcu_tasks_kthread]
|
||
root 14 2 00:00 0 I [rcu_tasks_rude_kthread]
|
||
root 15 2 00:00 0 I [rcu_tasks_trace_kthread]
|
||
root 16 2 00:01 0 S [ksoftirqd/0]
|
||
root 17 2 00:01 0 I [rcu_preempt]
|
||
root 18 2 00:00 0 S [migration/0]
|
||
root 19 2 00:00 0 S [idle_inject/0]
|
||
root 20 2 00:00 0 S [cpuhp/0]
|
||
root 21 2 00:00 0 S [cpuhp/1]
|
||
...
|
||
|
||
...
|
||
root 136247 1 00:00 6016 T top
|
||
root 136249 1766 00:00 10368 S sshd: nimda [priv]
|
||
nimda 136347 136249 00:00 6836 S sshd: nimda@pts/7
|
||
nimda 136348 136347 00:00 5840 S -bash
|
||
nimda 136359 136348 00:06 5760 T htop
|
||
root 165184 2 00:00 0 I [kworker/u258:0-events_unbound]
|
||
nimda 165627 136348 00:16 6572 S htop
|
||
root 165658 2 00:00 0 I [kworker/u257:0-events_power_efficient]
|
||
root 165993 2 00:00 0 I [kworker/u258:3-writeback]
|
||
root 221356 2 00:00 0 I [kworker/0:1-events]
|
||
root 251214 2 00:00 0 I [kworker/u258:4-events_unbound]
|
||
root 314564 2 00:00 0 I [kworker/u257:3-events_power_efficient]
|
||
root 314570 2 00:00 0 I [kworker/1:0-events]
|
||
root 329833 2 00:00 0 I [kworker/0:2-events]
|
||
root 329834 2 00:00 0 I [kworker/u257:1-events_power_efficient]
|
||
root 329836 2 00:00 0 I [kworker/1:3-events]
|
||
root 329864 2 00:00 0 I [kworker/u258:1-flush-252:0]
|
||
root 329872 1766 00:00 10368 S sshd: nimda [priv]
|
||
root 329874 2 00:00 0 I [kworker/1:1-events]
|
||
nimda 329971 329872 00:00 6832 S sshd: nimda@pts/1
|
||
nimda 329972 329971 00:00 5968 S -bash
|
||
root 330004 2 00:00 0 I [kworker/u257:2-events_power_efficient]
|
||
nimda 330005 329972 00:00 3584 S /bin/bash ./myps.sh
|
||
nimda 330006 330005 00:00 2208 S /bin/bash ./myps.sh
|
||
nimda 330007 330005 00:00 3456 S sort -n -k2
|
||
|
||
```
|
||
|
||
|
||
|
||
|
||
Все готово! |