Score:0

ปัญหาเกี่ยวกับการเรียกใช้สคริปต์ที่เกี่ยวข้องผ่าน systemd

ธง my

ฉันพยายามเรียกใช้สามสคริปต์ที่เกี่ยวข้องโดยอัตโนมัติ (ตัวเรียกใช้งาน,ชุดแอป,checkapp.py) ใช้ตัวจับเวลา systemd และบริการ systemd สคริปต์แรกตรวจสอบสคริปต์ python (แอป gui) ว่าเขาทำงานอยู่หรือไม่ หลังจากนั้นให้รีสตาร์ทแอป python gui ปัญหาของฉันคือเมื่อฉันพยายามเรียกใช้บริการ systemd มันปิดแอป gui

นี่คือสคริปต์แรก (ตัวเรียกใช้งาน):

#!/bin/bash
/usr/share/checkapp/set-app 
ทางออก 0

และนี่คืออันที่สอง (ชุดแอป):

#!/bin/bash
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
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'

def หลัก ():
    indicator = appindicator.Indicator.new(APPINDICATOR_ID, os.path.abspath(app_ico), appindicator.IndicatorCategory.SYSTEM_SERVICES)
    indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
    indicator.set_menu(build_menu())
    gtk.main()

def build_menu():
    เมนู = gtk.Menu()
    software_cen = gtk.MenuItem('ศูนย์ซอฟต์แวร์')
    software_cen.connect('เปิดใช้งาน', software_center)
    เมนูผนวก (software_cen) 
    เมนู.show_all()
    เมนูย้อนกลับ

def software_center (แหล่งที่มา):
    os.system('pkexec /usr/sbin/synaptic')
ถ้า __name__ == "__main__":
    สัญญาณ.สัญญาณ(สัญญาณ.SIGINT, สัญญาณ.SIG_DFL)
หลัก()

และนี่คือ checkapp.service ไฟล์ :

[หน่วย]
คำอธิบาย=checkapp
[บริการ]
ExecStart=/usr/share/checkapp/launcher

และนี่คือ ตรวจสอบแอปจับเวลา ไฟล์:

[หน่วย]
คำอธิบาย=เรียกใช้แอปตรวจสอบทุกๆ 2 ชั่วโมง
RefuseManualStart=ไม่                       
RefuseManualStop=ไม่                       

[ตัวจับเวลา]
OnBootSec=20
OnUnitActiveSec=120นาที
ความแม่นยำ วินาที = 1 มิลลิวินาที
หน่วย = checkapp.service

[ติดตั้ง]
WantedBy=timers.target

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา