Рейтинг:0

Проблема с запуском связанных скриптов через systemd

флаг my

Я попытался запустить три связанных скрипта автоматически (пусковая установка,установить-приложение,checkapp.py) с помощью системного таймера и службы systemd, первый скрипт проверяет скрипт python (приложение gui), если он уже запущен, после этого он перезапускает приложение python gui, моя проблема в том, что когда я пытаюсь запустить службу systemd, он закрывает приложение gui

это первый скрипт(пусковая установка):

#!/бин/баш
/usr/доля/checkapp/set-приложение 
выход 0

а это второй(установить-приложение):

#!/бин/баш
CHECK_PRO="$(ps -ef | grep '[p]ython3 /usr/share/checkapp/checkapp.py' | awk '{print $2}')"
если [ "${CHECK_PRO}" != "" ]; тогда
    убить -9 $CHECK_PRO
    python3 /usr/share/checkapp/checkapp.py показать &
фи
выход 0

а это последний(checkapp.py):

#!/usr/bin/env python3


импорт ОС
сигнал импорта
импорт ги
gi.require_version('Gtk', '3.0')
из gi.repository импортировать Gtk как gtk
из gi.repository импортировать AppIndicator3 как appindicator
gi.require_version('Gtk', '3.0')

APPINDICATOR_ID = 'проверить приложение'
app_ico = '/usr/share/checkapp/logo.svg'

деф основной():
    индикатор = appindicator.Indicator.new(APPINDICATOR_ID, os.path.abspath(app_ico), appindicator.IndicatorCategory.SYSTEM_SERVICES)
    индикатор.set_status(appindicator.IndicatorStatus.ACTIVE)
    индикатор.set_menu(build_menu())
    gtk.main()

деф build_menu():
    меню = gtk.Меню()
    software_cen = gtk.MenuItem('Центр программного обеспечения')
    software_cen.connect('активировать', software_center)
    menu.append(software_cen) 
    меню.show_all()
    меню возврата

def software_center (источник):
    os.system('pkexec /usr/sbin/synaptic')
если __name__ == "__main__":
    сигнал.сигнал(сигнал.SIGINT, сигнал.SIG_DFL)
главный()

и это checkapp.service файл :

[Ед. изм]
Описание=checkapp
[Оказание услуг]
ExecStart=/usr/доля/checkapp/лаунчер

а это checkapp.timer файл:

[Ед. изм]
Description=Проверка приложения каждые 2 часа
RefuseManualStart=нет                       
RefuseManualStop=нет                       

[Таймер]
OnBootSec=20
OnUnitActiveSec=120мин
Точность сек = 1 мс
Единица = checkapp.service

[Установить]
WantedBy=timers.target

Ответить или комментировать

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