В чистейшей форме можно использовать
pkill server1
Это предполагает, что server1
на самом деле имя процесса, а не где-то в командной строке - в противном случае добавьте -f
.
pkill -f server1CommandArgument
Но подождите!
Вы можете проверить, что pkill
будет соответствовать и уничтожить, с помощью команды pgrep
- что технически почти то же самое. Разница в том, что вместо уничтожения он печатает PID .
Попробуйте это - перечислите соответствующие PID:
pgrep server1
-l
также перечисляет имя процесса , а не только PID:
pgrep -l server1
-f
соответствует командной строке , а не только имени:
pgrep -fl server1
Если вы хотите убить процессы, которые соответствуют pgrep
,
оставьте -l
и добавьте сигнал, если вы хотите что-то другое, кроме SIGTERM по умолчанию, -15
:
pkill -9 server1
В вашем примере используется простая команда ps
, которая по умолчанию соответствует только процессам на текущем терминале, позаботьтесь о том, что соответствует вашей команде, поскольку pgrep
и pkill
не соответствуют только процессы на текущем терминале.
Замечание об использовании kill -9
- это самый жестокий способ убить ;
Вы уверены, что действительно нужен ?
Это может не иметь значения, в зависимости от того, какая программа убита. Но вы не должны делать это без уважительной причины для программы / сервера, которая может сохранять любые данные, файлы, записывать файлы блокировки и т. Д. Пока программа не зависает плохо, kill
с использованием значения по умолчанию signal -15
подойдет.
Неактивное состояние - это нормальное состояние. От Python GTK Docs
A
GTK.Style
содержит информацию для пяти возможных состояний виджета Хотя не каждый виджет поддерживает все пять штатов:
GTK.STATE_NOMMAL
состояние чувствительного виджета, который не активен и не имеет фокуса
gtk.state_active
состояние чувствительного виджета, когда он активен например Кнопка, которая нажата, но еще не выпущена
gtk.state_prelight
состояние чувствительного виджета, который имеет фокус например Кнопка, которая имеет указатель мыши на него.
GTK.State_selected
Состояние виджета, выбранного E.G. Выбранный текст в виджете GTK.entry
GTK.STATE_InssSitive
состояние виджета, нечувствительна и не ответит на какие-либо события E.g. не может быть активирован, выбран или Prelit.
Я проделал некоторые программирование GTK2 в Python в течение последних нескольких лет, но я, конечно, не являюсь экспертом во всех его тонкостях. И я не играл много с темами. Я не уверен, что вы хотите сделать , может быть сделано , но, надеюсь, кто-то с большим опытом сможет сделать окончательное заявление в этом отношении.
FWIW, I Узнайте Узнайте, как сделать слайдер в цвете изменения приложения GTK, в зависимости от того, имеет ли главное окно в фокусе или нет, но я думаю, что это не так много полезно. Но если вы хотите играть с ним, дайте мне знать, и я вставлю свой код Python в этот ответ.