Чтобы знать, имеет ли установленная Ubuntu 32 или 64 бита:
a) getconf LONG_BIT
b) uname-m
Если это показывает i686 или i386, это означает 32 бита. Если это показывает x86_64, это означает 64 бита.
Если ЦП имеет Ubuntu на 32 бита, должен иметь 32 бита. Если ЦП имеет 64 бита, он может работать в 64 или 32 битах. Таким образом, мы можем выбрать: Ubuntu может иметь 32 бита или 64 битов.
Чтобы знать, имеет ли ЦП 32 или 64 бита:
a) grep-w lm/proc/cpuinfo
Если мы видим, что lm красного цвета имеет 64 бита. Иначе имеет 32 бита.
b) sudo lshw | grep "описание: ЦП"-A 12 | grep ширина
Это говорит ясно, что мы хотим знать.
Команда для обоих infos:
lscpu
Нам просто нужно к взгляду к первым 2 строкам вывода: “Архитектура” сообщает об установленной версии Linux: “i686 представляет один из 32 битов, в то время как “x86_64 обозначает на 64 бита. “Op-режим (op-режимы) ЦП” сообщает о ЦП. “32-разрядный” представляет один из 32 битов, в то время как “32-разрядные, 64-разрядные” или “64-разрядные” стенды для на 64 бита.
Но если я пытаюсь убить процессы 1000, 3947, 13596 или 932, то получаю ошибки типа [...]
на выходе ps
, 1000 - идентификатор пользователя процесса (grep
в этом случае), 3947 - ПИД-регулятор grep
, а остальные номера - значения параметров состояния, а не вообще ПИД-регуляторов.
Если вы хотите видеть все процессы по имени, то используйте что-то вроде
ps -lfC nginx
предостережения: вы должны знать точное имя, иначе ps ничего не вернет. Если вы не знаете точное имя, тогда используйте pgrep
.
ps aux -P
показывает эти колонки:
$ ps aux -P | head -1
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
Только 2-я колонка - это pid.
Предупреждение: не пытайтесь убить случайные пиды.
pid 3947 был процессом grep, который закончился, когда вы получили ваше приглашение обратно, так что на самом деле нет такого процесса.
Если бы был процесс nginx, вы бы увидели его в выводе grep. Вывод: nginx не запущен на вашей машине.
Обычно я нахожу pgrep
более удобным, чем ps | grep
. Вы также можете посмотреть на killall
, если конечной целью является взорвать кучу процессов по имени.
Обычный прием, позволяющий избежать появления самой команды grep
в выводе ps
, заключается в том, чтобы поместить первый символ в класс символов, чтобы он не соответствовал его буквальному «я». . То есть,
$ ps aux | grep [n]ginx
Таким образом, шаблон grep
будет соответствовать «nginx», но не буквальному «[n] ginx», который отображается в выводе ps
.
Очень часто необходимо использовать sudo
для управления процессом nginx
. Если вы получили ошибку "Операция не разрешена", добавьте ко всем командам ниже sudo
. Хотя этот вопрос помечен как 'ps', я хотел бы упомянуть о других возможностях.
Если вы просто хотите остановить nginx, я бы рекомендовал использовать:
service nginx stop
Но если ваша цель - найти сам 'pid' (например, чтобы послать сигнал), я бы рекомендовал искать nginx.pid
. Когда nginx запущен, он помещает свой pid в этот файл.
nginx
может управляться с помощью сигналов. ID главного процесса по умолчанию записывается в файл /usr/local/nginx/logs/nginx.pid
Однако он может быть и в другом месте.
Если вы компилировали nginx самостоятельно, вы могли бы указать pid-path
.
--pid-path=path
- задает имя файлаnginx.pid
, в котором будет храниться идентификатор основного процесса. После установки имя файла всегда можно изменить в конфигурационном файле nginx.conf с помощью директивы pid. По умолчанию файл называется prefix/logs/nginx.pid
В противном случае вы можете явно указать путь к файлу pid в nginx.conf
.
Читайте о Nginx Control
Итак, для отправки сигнала просто введите:
kill `cat /path/to/nginx.pid`
Или
kill $(cat /path/to/nginx.pid)
Читайте о убийстве процесса по pid файлу.
Лично я при написании скрипта или инструкции по развертыванию не стал бы доверять остановку или поиск nginx pid на pgrep
и тем более на grep
, хотя они и применимы на локальной машине. Но в данном случае я бы сократил остановку до pkill
(process kill):
pkill nginx
на большинстве установок nginx вы можете найти pid в файловой системе: cat /var/run/nginx.pid
Para matar todos los procesos nginx que podrías hacer:
kill $(ps aux | grep 'nginx' | awk '{print $2}')
попробуйте использовать эту команду
ps -ax | grep nginx
Вы получите первый идентификатор процесса с упомянутым основным процессом, а затем используете этот идентификатор, чтобы убить его.
Запустите эту команду:
sudo kill -9 $(ps aux | grep 'nginx' | awk '{print $2}')