Score:1

แยกกระบวนการออกจากเธรดการดำเนินการ

ธง cn

ฉันกำลังเรียกใช้สคริปต์ด้วยกฎ udev ในการเชื่อมต่ออุปกรณ์ usb ทุกครั้ง ปัญหาคือฉันต้องการให้สคริปต์นี้เปิดใช้งานอีกอันหลังจากผ่านไป 20 วินาที

นี่คือรหัส

#!/bin/bash
#
นอน 20
/'สคริปต์อื่น'

ปัญหาคือการทำเช่นนี้โดยทำให้การดำเนินการเมานต์ udev ล่าช้า สิ่งที่ฉันไม่ต้องการให้เกิดขึ้น

ได้ลองสิ่งนี้แล้ว:

#!/bin/bash
#
nohup bash /'สคริปต์อื่น' & 
ฉ

วางการรอคอยไว้ใน 'สคริปต์อื่น'

แก้ไขแล้ว

กฎ udev เปิดตัวด้วย RUN{type} นั่นคือปัญหา ไม่สามารถจัดการกระบวนการที่ยาวนานได้ ฉันเพิ่งสร้างบริการ systemd และเปิดใช้งานโดยใช้ ENV{SYSTEMD_WANTS} บนกฎ udev และเหมือนไหม

ทำเช่นนี้:

/etc/udev/rules.d/99-usb.rules

    ACTION=="เพิ่ม", ENV{SYSTEMD_WANTS}="usb.service"

/etc/systemd/system/usb.service

    [หน่วย]
    Description=การทำงานอัตโนมัติของ USB
    
    [บริการ]
    Type=วันช็อต
    ExecStart=/Script.sh

/Script.sh

    #!/bin/bash
    #
    นอน 20
    /'สคริปต์อื่น'
in flag
ตัวเลือกหนึ่งอาจเป็น `bash other.sh & disown`
Jobesmor avatar
cn flag
ฉันลองแล้ว แต่มีพฤติกรรมแปลก ๆ ฉันอ่านปรากฎว่ากระบวนการเทอร์มินัลหนึ่งซึ่ง 'เปิดตัว' สิ้นสุดก่อน 'เปิดตัว' กระบวนการสุดท้ายก็ปิดเช่นกัน ข้อเท็จจริงที่น่าสนุกเมื่อวันที่ 18.04 สายทำงานเหมือนไหม แต่ ต้องการให้ทำงานบน 16.04 เป็นอย่างน้อย
bac0n avatar
cn flag
ศึกษาคู่มือ `udev` `RUN{type}`
bac0n avatar
cn flag
ที่เกี่ยวข้อง: [ทำไมกฎ udev ของฉันไม่ทำงาน](https://askubuntu.com/a/1222166/986805)
Zanna avatar
kr flag
โพสต์ที่เชื่อมโยงแก้ปัญหาของคุณหรือไม่
muru avatar
us flag
การเริ่มต้นหน่วย systemd ไม่ควรบล็อก udev ดังนั้นคุณจึงควรทำอย่างนั้นแทนที่จะยุ่งกับโหมดสลีปและ nohup
fuzzy drawings avatar
tj flag
เขาสามารถใช้ `at now -f scrip2.sh` เพื่อเปิดสคริปต์อื่น นั่นจะไม่บล็อก `udev` เช่นกัน OP บอกว่าเขาต้องการการหน่วงเวลา 20 วินาทีไม่ว่าจะด้วยเหตุผลใดก็ตาม ดังนั้นการมี `scrip2.sh` ที่ขึ้นต้นด้วย `sleep 20` จะทำงานได้โดยไม่ต้องป้อน systemd `.service`
Jobesmor avatar
cn flag
ฉันลองด้วย "at now -f" และใช้ "sleep" เมื่อเริ่มสคริปต์ ไม่ได้ผลสำหรับฉัน และอีกครั้งไม่แน่ใจว่า witch ทำให้ 18+ ทำงานได้ดี

โพสต์คำตอบ

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