Files
homework12/README.md
2025-12-21 16:28:06 +03:00

5.4 KiB
Raw Blame History

Домашнее задание 12

рипт как замена ps ax

Для выполнение задания используется Ubuntu Server 24.04

Суть работы скрипта

Пишем скрипт, который будет анализировать информацию из /proc и выводить в консоль. Мой скрипт будет выводить следующую информацию:

  1. Имя пользователя, от имени которого запущен процесс.
  2. PID процесса
  3. PPID (pid родителя)
  4. Процессорное время использования
  5. Потребление оперативной памяти
  6. Текущий статус
  7. Командная строка или имя процесса

Все полученные данные, сортируем по PID

Копируем скрипт рипт myps.sh

Даем права на запуск

nimda@ubuntu:~$ sudo chmod +x /home/nimda/myps.sh

Запускаем скрипт, и смотрим на вывод

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

Все готово!