Как уничтожить упрямый процесс

В странице справочника удара говорится:

   ! ~    logical and bitwise negation

Числа со знаком обычно хранятся в дополнительном представлении Two:

...
-4 = 1100
-3 = 1101
-2 = 1110
-1 = 1111
 0 = 0000
 1 = 0001
 2 = 0010
 3 = 0011
...

Это означает, берете ли Вы число как 2, оно поразрядно интерпретируется как 0010. После поразрядного отрицания это становится 1101, который является представлением-3.

5
23.12.2014, 00:24
5 ответов

Вы можете использовать kill -9 11394, чтобы убить процесс полностью бесследно, это вызовет следующее:

Из 3 самых важных сигналов "kill" в командной строке Linux/UNIX:

Ядро отпустит процесс, не сообщая о нем процессу. Такое нечистое убийство может привести к потере данных. Это самый "трудный", "грубейший" и самый опасный из доступных сигналов kill, и его следует использовать только для того, чтобы остановить что-то, что кажется неостановимым.

5
27.01.2020, 20:32

Попробуйте использовать флаг сигнала для изящно убить процесс:

Убить -15 11394

1
27.01.2020, 20:32

Есть различные сигналы, которые вы можете попробовать, которые, я уверен, кто-то другой перечислит, но наиболее эффективным я считаю сигнал HUP:

kill -hup 11394

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

1
27.01.2020, 20:32

В случае с приложением X мне повезло с использованием xkill и щелчком по его окну, когда приложение не отвечало на убийство из командной строки

.
1
27.01.2020, 20:32

По мере того, как процесс остановлен * (обратите внимание на T как состояние состояния в верхней части ), он не может сделать какую-либо обработку сигнала вообще. Итак, вам нужно использовать сигнал, который не требует взаимодействия процесса, в вашем случае SIGKILL (9), как в следующем

kill -9 11394

, если вы хотите, по какой-то причине, получите основной дамп процесса (И ваша система настроен для этого), вы можете использовать SIGSEGV (11). Это также не требует никакого взаимодействия процесса.

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

8
27.01.2020, 20:32

Теги

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