เริ่มสคริปต์เริ่มต้นเมื่ออินเทอร์เฟซเครือข่ายหมดแล้วเท่านั้น


1

ฉันมีเซิร์ฟเวอร์มีเดียแบบไม่ใช้หัวโดยใช้ mpd ที่ทำงานบน gentoo Mpd ได้รับการกำหนดค่าให้เริ่มต้นตอนบูท (และฉันไม่มีสคริปต์ rc ทำงานพร้อมกัน) แต่น่าเสียดายที่ mpd จะไม่เริ่มทำงานหากไม่สามารถผูกกับอินเทอร์เฟซได้ ฉันพยายามให้ที่อยู่ ip แบบคงที่กับ LAN แบบไร้สาย แต่บางครั้ง MPD จะไม่เริ่มทำงานเนื่องจากการ์ด wlan ไม่ได้เชื่อมโยงกับจุดเข้าใช้งาน (ฉันใช้ wpa_supplicant)

ตอนนี้เมื่อ ssh เริ่มทำงานมันค่อนข้างมีความสุขที่จะรอให้อินเทอร์เฟซเกิดขึ้น แต่ถึงแม้จะมีการขุดเล็กน้อยฉันก็ไม่สามารถรู้ได้ว่ามันเป็นเช่นไร

แฮ็คที่น่ากลัวของฉันจะเป็นสคริปต์ mpd เพื่อรอเวลา "เพียงพอ" สำหรับการ์ด wlan ที่จะเชื่อมโยง แต่นั่นจะไม่ทำงานในทุกสถานการณ์

ใครมีพอยน์เตอร์บ้าง?

NB: คำถามที่เกี่ยวข้องที่ไม่ตอบคำถามของฉัน (แต่อาจเป็นประโยชน์กับผู้อื่นอยู่ที่นี่):

เรียกใช้สคริปต์เมื่อเชื่อมต่อกับเครือข่ายไร้สายใน linuxและ linux-how-to-start-skype หรืออื่น ๆ โปรแกรมเฉพาะเมื่อ im ออนไลน์

คำตอบ:


2

ในสคริปต์เริ่มต้นของ gentoo (/etc/init.d/mpd ในตัวอย่างของคุณ) ควรจะมี

 depend() { ... }

ส่วนใกล้ด้านบน นี่คือวิธีที่ init สิ้นสุดการพิจารณาคำสั่งซื้อสำหรับการเริ่มต้น คุณควรใส่ข้อกำหนดสำหรับเครือข่ายให้เสร็จก่อนเริ่ม mpd ที่นั่น ฉันคิดว่าบรรทัดนั้น

 need net

ตรวจสอบเพื่อดูสิ่งที่อยู่ในส่วนการพึ่งพาใน /etc/init.d/sshd บรรทัดเดียวกันจากที่ควรจะทำงานถ้าคุณเพิ่มไปยังสคริปต์เริ่มต้น MPD


1

วิธีการทั่วไปคือลองเริ่ม mpd ในลูปจนกว่าจะเริ่มต้นได้สำเร็จ ฉันเชื่อว่า mpd มักจะโยนรหัสออกบางอย่าง (ซึ่งคุณสามารถตรวจจับได้ในสคริปต์เริ่มต้นของคุณ) เมื่อไม่สามารถเริ่มด้วยเหตุผลบางอย่าง


0

จาก/etc/wpa_supplicant/ifupdown.sh:

# This file is executed by ifupdown in pre-up, post-up, pre-down and
# post-down phases of network interface configuration. It allows
# ifup(8), and ifdown(8) to manage wpa_supplicant(8) and wpa_cli(8)
# processes running in daemon mode.

เกี่ยวกับบรรทัดที่ 144 (บนสำเนาของฉัน) ของสคริปต์ดูเหมือนว่าจะเป็นการดำเนินการโพสต์อัพ - คุณควรจะวาง MPD การเปิดตัวของคุณที่นี่เว้นแต่ใครบางคนสามารถนึกถึงสถานที่ที่ดีกว่า


ฉันจะดูว่าไฟล์ดังกล่าวมีอยู่ในการติดตั้งของฉัน ขอบคุณ
RobS

ไม่มีไฟล์ดังกล่าวใน Gentoo อย่างน่าเสียดาย
RobS

0

หนึ่งในคำตอบในลิงค์แรกที่คุณให้คำแนะนำให้วางสคริปต์/etc/network/if-up.dซึ่งเป็นสิ่งที่ฉันแนะนำให้คุณ คุณเคยลองไหม


ใน Gentoo ของฉันไม่มี / etc / เครือข่าย
ปล้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.