Какой метод я использую для управления фоновым процессом, специфичным для приложения?

Это мой личный список убийств:

kill <pid_number> example: kill 8888 effect: kill application with PID 8888. kill -9 <pid_number> example: kill -9 8888 effect: тот же, что и выше, но больше экстремальным и сильным. killall <application_name> пример killall firefox effect: убить приложение или экземпляр приложения с именем firefox. Вам не обязательно знать номер PID, и это мой самый любимый. Эффект kill -9 -1: убить все процессы, включая X Server, чтобы вы могли вернуться к диспетчеру дисплея (LightDM, GDM или KDM). Другим именем этой команды является relogin. И эта команда является подстановкой для нажатия кнопки «Выход». Эффект Alt+Printscreen+REISUB: перезапуск; аналогично Ctrl + Alt + Del в Windows. Очень полезно избегать повреждения жесткого диска. Эффект Alt+Printscreen+REISUO: принудительное выключение, например Ctrl + Alt + Del, но выключение, а не перезапуск. Только отличаться 1 последний символ (O и B). Эффект xkill: измените указатель на череп. Если вы нажмете на него графические интерфейсы, то окно обязательно умрет.

Вы можете видеть PID процесса с помощью команд ps aux, top, htop или графически с помощью системного монитора GNOME.

1
задан 11 September 2012 в 19:58

1 ответ

Рассмотрите возможность разгрузки уведомления в систему!

. Общий способ общения с демоном в современном рабочем столе GNU / Linux - D-Bus. Чтобы значительно упростить то, что он делает: D-Bus позволяет вам вызывать функции из процесса «сервис». Вы легко могли бы использовать функцию refreshConfig(), которая перезагружает конфигурацию из файла при вызове.

Тем не менее, конкретная вещь, которую вы пытаетесь сделать, имеет более уместное решение для Ubuntu и GTK +. С D-Bus вы создаете схему конфигурации, которая определяет пары ключ / значение, которые вы хотите хранить. Поступая таким образом, вы можете поместить в демона что-то подобное ...

mySettings->connect("changed::setting", onSettingChanged);

И GObject разбудит вашего демона и вызовет onSettingChanged() при изменении любой конфигурации. Эта функция может вызывать новый экземпляр себя и exit(0), если хотите. Хотя я не могу думать о логической логике, почему вам нужно это делать.

Вот отличный справочник по использованию GSettings с Python. Он должен быть легко переводим на C ++.

3
ответ дан 25 May 2018 в 06:38
  • 1
    Я уже использую Gtk в своем приложении, но я не знал, что Gtk предоставляет метод для использования dconf. Я буду думать о твоем посте. Спасибо. – Simon Dubois 11 September 2012 в 23:07

Другие вопросы по тегам:

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