Ctrl + c не уничтожит процесс

Код ошибки 49 указывает на неправильный пароль! Удостоверьтесь, что Вы ввели тот же пароль при создании хеша склепа. Возможно, Вы хотите отладить эту часть и использовать пароль в виде открытого текста вместо этого хеш в этом положении в Вашем slapd.conf:

rootpw {crypt}49/WKVk.6oz3o

Btw., какую ldap версию Вы используете? Afaik это поддерживает лучшие механизмы хеша, как MD5 или SHA1. Не уверенный, но может быть проблема с / в Вашем хеше склепа!?

8
18.04.2013, 15:01
4 ответа

Ctrl+c не уничтожит процесс. это просто остановит текущий рабочий процесс в середине. Для уничтожения процесса, мы должны использовать команду "KILL"

0
27.01.2020, 20:12
  • 1
    На самом деле kill отправляет сигнал в процесс. Не уничтожает его. Сигнал по умолчанию, отправленный с kill TERM, сигнал, отправленный с ctrl+c SIGINT. –  fmanco 11.07.2012, 18:22

Вот некоторый жесткий прием:

Control-Z

это приостановит Ваш процесс, и это возвратит Вас идентификатор задания того процесса

Затем:

kill -9 %1

(замените 1 своим идентификатором задания).

Примечание: Процент обязателен!, иначе Вы уничтожите свой процесс init, что означает, что Вы уничтожите ядро, и целая система откажет (так не помещайте промежуточное пространство :)

3
27.01.2020, 20:12

Я столкнулся с этим старым сообщением форума об этой конкретной проблеме. Кажется, что последовательность прерывания по умолчанию могла быть переопределена в отдельном файле конфигурации где-нибудь.

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

Википедия является большим ресурсом для закрыть программы. Также вот список сигналов Unix и что они делают.

0
27.01.2020, 20:12

ctrl+c никогда не убивает программу,

Это просто не то, что она делает.

Есть набор сигналов, которые стандарт POSIX определяет, они используются для управления запущенной программой.

  First the signals described in the original POSIX.1-1990 standard.
  Signal     Value     Action   Comment
  ──────────────────────────────────────────────────────────────────────
  SIGHUP        1       Term    Hangup detected on controlling terminal
                                or death of controlling process
  SIGINT        2       Term    Interrupt from keyboard
  SIGQUIT       3       Core    Quit from keyboard
  SIGILL        4       Core    Illegal Instruction
  SIGABRT       6       Core    Abort signal from abort(3)
  SIGFPE        8       Core    Floating point exception
  SIGKILL       9       Term    Kill signal
  SIGSEGV      11       Core    Invalid memory reference
  SIGPIPE      13       Term    Broken pipe: write to pipe with no
  SIGTERM      15       Term    Termination signal

- http://man7.org/linux/man-pages/man7/signal.7.html

ctrl+c посылает сигнал 2, "Прерывание с клавиатуры" на программу, которую вы запустили с терминала.

Вплоть до программы, которая обрабатывает этот сигнал, она может делать с ним все, что захочет. Многие интерпретаторы скриптового языка могут справиться с этим по умолчанию, убивая вызываемый скрипт и изящно завершая работу.

Если вы хотите, чтобы программа выходила, эпизодически из автоматического контекста, рекомендуется Singal 15, программа kill может быть использована для отправки сигналов процессу по id (pid).

kill -15 <pid>

Насколько я знаю, программа все равно сама принимает этот сигнал и должна завершить ASAP как можно чище.

Если же программа игнорирует сигнал 15, и программа продолжает жить (и вы не можете не послать сигнал из-за ошибки разрешения)

kill -9 <pid>

Сигнал 9, насколько мне известно, интерпретируется ядром (диспетчером задач и аппаратным интерфейсом), ядро резко останавливает обработку программы и деблокирует/освобождает все ее ресурсы.

5
27.01.2020, 20:12

Теги

Похожие вопросы