Bootstrap

пример получения информации о процессах в gnu/linux

пример получения информации о процессах в gnu/linux

пример получения информации о процессах в gnu/linux

сначала посмотрим какие службы работают


sudo service --status-all

Terminal:

mx@192:~$ sudo service --status-all
[sudo] password for mx:
 [ - ]  alsa-utils
 [ - ]  anacron
 [ - ]  apache-htcacheclean
 [ + ]  apache2
 [ + ]  apparmor
 [ + ]  avahi-daemon
 [ - ]  console-setup.sh
 [ + ]  cron
 [ + ]  cups
 [ + ]  cups-browsed
 [ + ]  dbus
 [ + ]  hddtemp
 [ - ]  hwclock.sh
 [ - ]  keyboard-setup.sh
 [ + ]  kmod
 [ + ]  lightdm
 [ + ]  lm-sensors
 [ + ]  networking
 [ - ]  plymouth
 [ + ]  plymouth-log
 [ + ]  postgresql
 [ + ]  procps
 [ - ]  pulseaudio-enable-autospawn
 [ - ]  qemu-guest-agent
 [ + ]  rsyslog
 [ - ]  saned
 [ - ]  speech-dispatcher
 [ - ]  spice-vdagent
 [ + ]  ssh
 [ - ]  sudo
 [ - ]  sysstat
 [ + ]  udev
 [ - ]  x11-common

Теперь посмотрим на процессы.


sudo lsof -i -P -n

Итак начнём сначала, мы получили названия запущенных процессов с номерами

Terminal:

mx@192:~$ sudo lsof -i -P -n
COMMAND      PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
avahi-dae    456    avahi   12u  IPv4  10852      0t0  UDP *:5353
avahi-dae    456    avahi   13u  IPv6  10853      0t0  UDP *:5353
avahi-dae    456    avahi   14u  IPv4  10854      0t0  UDP *:57651
avahi-dae    456    avahi   15u  IPv6  10855      0t0  UDP *:60511
NetworkMa    459     root   23u  IPv4  14567      0t0  UDP 192.168.122.110:68->192.168.122.1:67
sshd         550     root    3u  IPv4  11090      0t0  TCP *:22 (LISTEN)
sshd         550     root    4u  IPv6  11092      0t0  TCP *:22 (LISTEN)
postgres     615 postgres    5u  IPv6  11229      0t0  TCP [::1]:5432 (LISTEN)
postgres     615 postgres    6u  IPv4  11230      0t0  TCP 127.0.0.1:5432 (LISTEN)
postgres     615 postgres    8u  IPv6  13035      0t0  UDP [::1]:40138->[::1]:40138
apache2      621     root    3u  IPv6  12214      0t0  TCP *:80 (LISTEN)
apache2      621     root    4u  IPv6  12217      0t0  TCP *:82 (LISTEN)
apache2      647 www-data    3u  IPv6  12214      0t0  TCP *:80 (LISTEN)
apache2      647 www-data    4u  IPv6  12217      0t0  TCP *:82 (LISTEN)
apache2      648 www-data    3u  IPv6  12214      0t0  TCP *:80 (LISTEN)
apache2      648 www-data    4u  IPv6  12217      0t0  TCP *:82 (LISTEN)
apache2      649 www-data    3u  IPv6  12214      0t0  TCP *:80 (LISTEN)
apache2      649 www-data    4u  IPv6  12217      0t0  TCP *:82 (LISTEN)
apache2      650 www-data    3u  IPv6  12214      0t0  TCP *:80 (LISTEN)
apache2      650 www-data    4u  IPv6  12217      0t0  TCP *:82 (LISTEN)
apache2      651 www-data    3u  IPv6  12214      0t0  TCP *:80 (LISTEN)
apache2      651 www-data    4u  IPv6  12217      0t0  TCP *:82 (LISTEN)
postgres     670 postgres    8u  IPv6  13035      0t0  UDP [::1]:40138->[::1]:40138
postgres     671 postgres    8u  IPv6  13035      0t0  UDP [::1]:40138->[::1]:40138
postgres     672 postgres    8u  IPv6  13035      0t0  UDP [::1]:40138->[::1]:40138
postgres     673 postgres    8u  IPv6  13035      0t0  UDP [::1]:40138->[::1]:40138
postgres     674 postgres    8u  IPv6  13035      0t0  UDP [::1]:40138->[::1]:40138
postgres     675 postgres    8u  IPv6  13035      0t0  UDP [::1]:40138->[::1]:40138
cupsd       1693     root    6u  IPv6  23754      0t0  TCP [::1]:631 (LISTEN)
cupsd       1693     root    7u  IPv4  23755      0t0  TCP 127.0.0.1:631 (LISTEN)
cups-brow   1695     root    7u  IPv4  21456      0t0  UDP *:631
sshd       13465     root    4u  IPv4 106001      0t0  TCP 192.168.122.110:22->192.168.122.1:46648 (ESTABLISHED)
sshd       13497       mx    4u  IPv4 106001      0t0  TCP 192.168.122.110:22->192.168.122.1:46648 (ESTABLISHED)
rustdesk  112010     root   13u  IPv4 830456      0t0  UDP *:21119
rustdesk  112010     root   18u  IPv4 831978      0t0  UDP *:57545
rustdesk  112010     root   23u  IPv4 833913      0t0  UDP *:42548
rustdesk  112010     root   25u  IPv4 834945      0t0  UDP *:53460

если сравнить эти два вывода, то становится ясно, что называние процесса не всегда совпадает с полным названием программы, например в первом случае, postgresql и postgres при выводе процессов... Для проверки текущего статуса, остановки и запуска службы, нужно полное имя. Для этого познакомимся сразу и с

посмотрим в этот каталог командой


ls /proc

Terminal:

mx@192:~$ ls /proc
1       13488   141     1695  26     39   459  6    66   72     8      acpi       driver         keys         mtrr          sys
10      13490   141032  17    261    4    462  615  67   73     82     asound     dynamic_debug  key-users    net           sysrq-trigger
108     13493   142     18    27     40   463  621  670  741    822    buddyinfo  execdomains    kmsg         pagetypeinfo  sysvipc
11      13497   143     189   28     41   464  63   671  747    840    bus        fb             kpagecgroup  partitions    thread-self
110899  13498   144     190   3      413  465  64   672  748    845    cgroups    filesystems    kpagecount   pressure      timer_list
112010  135098  145     2     30     42   466  646  673  762    847    cmdline    fs             kpageflags   sched_debug   tty
12      136     149     20    33403  43   467  647  674  763    85     consoles   interrupts     loadavg      schedstat     uptime
13      137997  15      21    35     45   498  648  675  764    86     cpuinfo    iomem          locks        self          version
13465   138052  152     22    359    450  523  649  68   766    869    crypto     ioports        meminfo      slabinfo      vmallocinfo
13471   14      16      23    36     456  548  65   69   78159  873    devices    irq            misc         softirqs      vmstat
13472   140486  1693    231   37     457  549  650  70   78431  9      diskstats  kallsyms       modules      stat          zoneinfo
13487   140940  1694    25    38     458  550  651  71   798    94797  dma        kcore          mounts       swaps

каталоги с именами в виде чисел это и есть pid процессов, которые мы уже видели. Поэтому каждый может получить доступ ко всем каталогам /proc/[pid].

далее посмотрим в интересующий нас процесс допустим, процесс postgres с номером pid = 670 который мы узнали первой командой.

значит


ls /proc/670

но имейте ввиду, что некоторую информацию можно будет получить, обладая правами суперпользователя, т.е. добавляя sudo перед командой.

Terminal:

mx@192:~$ ls /proc/670
ls: cannot read symbolic link '/proc/670/cwd': Permission denied
ls: cannot read symbolic link '/proc/670/root': Permission denied
ls: cannot read symbolic link '/proc/670/exe': Permission denied
arch_status  cmdline             environ  limits     mounts      oom_score      root       smaps_rollup  task
attr         comm                exe      loginuid   mountstats  oom_score_adj  sched      stack         timens_offsets
autogroup    coredump_filter     fd       map_files  net         pagemap        schedstat  stat          timers
auxv         cpu_resctrl_groups  fdinfo   maps       ns          patch_state    sessionid  statm         timerslack_ns
cgroup       cpuset              gid_map  mem        numa_maps   personality    setgroups  status        uid_map
clear_refs   cwd                 io       mountinfo  oom_adj     projid_map     smaps      syscall       wchan

видим список каталогов и файлов, далее посмотрим содержимое файла

Terminal:

mx@192:~$ cat /proc/670/cgroup
0::/system.slice/system-postgresql.slice/postgresql@13-main.service

теперь мы видим имя postgresql@13-main.service  допустим в системах с инициализацией systemd мы можем узнать о статусе этой программа следующей командой

sudo systemctl status postgresql@13-main.service

в системах с инициализацией например sysinit мы можем узнать о статусе этой программа следующей командой

sudo service postgresql status

Terminal:

mx@192:~$ sudo systemctl status postgresql@13-main.service
[sudo] password for mx:
 postgresql@13-main.service - PostgreSQL Cluster 13-main
     Loaded: loaded (/lib/systemd/system/postgresql@.service; enabled-runtime; vendor preset: enabled)
     Active: active (running) since Sat 2022-12-31 00:20:49 CST; 4h 25min ago
    Process: 509 ExecStart=/usr/bin/pg_ctlcluster --skip-systemctl-redirect 13-main start (code=exited, status=0/SUCCESS)
   Main PID: 615 (postgres)
      Tasks: 7 (limit: 4661)
     Memory: 36.1M
        CPU: 6.194s
     CGroup: /system.slice/system-postgresql.slice/postgresql@13-main.service
             ├─615 /usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main -c config_file=/etc/postgresql/13/main/postgresql.c>
             ├─670 postgres: 13/main: checkpointer
             ├─671 postgres: 13/main: background writer
             ├─672 postgres: 13/main: walwriter
             ├─673 postgres: 13/main: autovacuum launcher
             ├─674 postgres: 13/main: stats collector
             └─675 postgres: 13/main: logical replication launcher

Dec 31 00:20:46 192 systemd[1]: Starting PostgreSQL Cluster 13-main...
Dec 31 00:20:49 192 systemd[1]: Started PostgreSQL Cluster 13-main.

видим служба активна active (running)

Копирование материалов разрешается только с указанием автора Roman Sakhno и индексируемой прямой ссылкой на сайт (http://itdid.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/sahroman.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/sahroman.

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как настроить свой компьютер

  2. Текстовая ссылка:

    Она выглядит вот так: Как настроить свой компьютер

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

крипто-донат, на развитие сайта itdid.ru:

В новом окне с терминалом itdid.ru, введите любую сумму: