Mikhail Voronin

Полезные инструменты программиста в Linux

     

 Linux  System Administration

Управление процессами

Как узнать PID процесса?
  1. $ pidof postgres
  2. 958 957 956 955 954 814
Или можно сделать почти тоже самое с помощью ps и grep:
  1. $ ps ax | grep postgres
  2. PID TTY STAT TIME COMMAND
  3. 814 ? S 0:00 /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf
  4. 954 ? Ss 0:00 postgres: checkpointer process
  5. 955 ? Ss 0:00 postgres: writer process
  6. 956 ? Ss 0:00 postgres: wal writer process
  7. 957 ? Ss 0:00 postgres: autovacuum launcher process
  8. 958 ? Ss 0:00 postgres: stats collector process
  9. $ ps -e | grep postgres
  10. PID TTY TIME CMD
  11. 814 ? 00:00:00 postgres
  12. 954 ? 00:00:00 postgres
  13. 955 ? 00:00:00 postgres
  14. 956 ? 00:00:00 postgres
  15. 957 ? 00:00:00 postgres
  16. 958 ? 00:00:00 postgres
Как узнать какой процесс захватил файл?
  1. fuser -k filename
Подсчет количества потоков для процесса apache2

  1. ps uH p `pidof apache2` | wc -l
Сетевая активность для процесса apache2

  1. lsof -r 2 -p `pidof apache2` -i -a
Узнаем с какими файлами работает gedit

  1. lsof -c gedit
Узнаем кто держит файл /etc/passwd

  1. fuser -v /etc/passwd

Список полезных команд под linux

Работа с файловой системой /proc

Показать максимально возможное количество процессов в системе:
  1. $ sysctl kernel.pid_max
  2. $ cat /proc/sys/kernel/pid_max # аналогичный результат
Чтобы изменить значение, передайте ключ -w:
  1. # sysctl -w kernel.pid_max=4194303
  2. # echo 4194303 > /proc/sys/kernel/pid_max # аналогичный результат
Показать максимально возможное количество потоков:
  1. $ sysctl kernel.threads-max
  2. $ cat /proc/sys/kernel/threads-max

Утилиты для работы с сетью

Допустим, нам известен mac-адрес некого устройства в нашей сети. Нужно узнать его IP-адрес.
  1. ip neighbor | grep "52:54:00:5b:f2:3a" | cut -d" " -f1
Здесь есть некоторые тонкости: у нас (на нашем компьютере) может быть и не закеширован mac-адрес этого устройства.

Утилиты доступные в Ubuntu

Время от времени хочется узнать версию Ubuntu. Один из вариантов - воспользоваться командой lsb_release:
  1. $ lsb_release -a
  2. No LSB modules are available.
  3. Distributor ID: Ubuntu
  4. Description: Ubuntu 14.04.3 LTS
  5. Release: 14.04
  6. Codename: trusty
Можно ещё посмотреть, что записано в файлах /etc/issue и /etc/lsb-release.
  1. $ cat /etc/issue
  2. Ubuntu 14.04.3 LTS \n \l
  3. $ cat /etc/lsb-release
  4. DISTRIB_ID=Ubuntu
  5. DISTRIB_RELEASE=14.04
  6. DISTRIB_CODENAME=trusty
  7. DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"

Продолжение следует

У меня много закладок в Firefox (Server Side -> Tools), буду постепенно пополнять статью.