ภูตข้ามแพลตฟอร์ม / บริการหยุดและเริ่ม


1

มีเครื่องมือที่สามารถควบคุม daemons / services ในลักษณะข้ามแพลตฟอร์มได้หรือไม่?

ในการเขียนโปรแกรมมีเครื่องมือสร้างต่าง ๆ ที่ให้คุณสร้างซอฟต์แวร์จากแหล่งต่าง ๆ บนแพลตฟอร์มต่าง ๆ เครื่องมือจะดูแลการตรวจสอบความสามารถของเครื่องเฉพาะและค้นหาไลบรารีคอมไพเลอร์ ฯลฯ CMake เป็นตัวอย่าง

มีปัญหาคล้ายกันกับการควบคุมภูต ขึ้นอยู่กับระบบปฏิบัติการถ้าฉันต้องการเริ่มภูตที่ฉันอาจใช้

stop-start-daemon -S mydaemon

หรืออาจเรียกสคริปต์เช่นนี้

/etc/init.d/mydaemon start

หรือหากsystemctlเป็นเครื่องมือของทางเลือกแล้ว

systemctl start mydaemon

และถ้าฉันบน Windows แล้วฉันสามารถใช้อย่างใดอย่างหนึ่งหรือnet start myservicesc start myservice

มีเครื่องมือสคริปต์หรือวิธีการบัญญัติอื่น ๆ สำหรับจัดการสถานการณ์นี้หรือไม่? ฉันไม่ต้องการการควบคุมที่ละเอียด เพิ่งหยุดและเริ่ม แต่ฉันต้องการที่จะสามารถปรับใช้ซอฟต์แวร์ของฉันในหลาย ๆ ระบบโดยใช้สคริปต์เดียวกัน


คุณมีความแตกต่างหรือไม่บางทีฉันอาจจะเขียนอะไรก็ได้
เฟลิเป้อัลคาซิบาร์

คำตอบ:


3

หากต้องการตอบคำถามของคุณโดยตรง: ไม่ไม่มีวิธีข้ามแพลตฟอร์มในการเริ่ม / หยุด / ควบคุม daemons

ในการตอบคำถามของคุณทางอ้อม: วิธีการจัดการแบบนี้คือการทำหน้าที่ดังกล่าวในโปรแกรมและโปรแกรมติดตั้งของคุณ (makefiles / build files / msi packages / zips)

หากฉันมีโปรแกรม daemonized ที่ฉันกำลังสร้าง (โปรแกรมที่มีวัตถุประสงค์เพื่อให้ทำงานในพื้นหลังหรือเป็นบริการ) ฉันจะสร้างสคริปต์ 'start / stop' ด้วยมือ (พร้อมสำเนา / วางที่มีประโยชน์) แล้ว zip อัพทั้งซอร์สหรือไบนารีที่คอมไพล์แล้วด้วยแพลตฟอร์มของสคริปต์ควบคุมตัวเลือกที่เรียกว่าเป็นวิธีเดียวกันในแต่ละแพลตฟอร์ม (เช่นmyservice -startหรือmyservice -stop, เป็นต้น)


0

ต้องการตัวฉันเองสำหรับผลิตภัณฑ์ซอฟต์แวร์ของตัวเองฉันตัดสินใจที่จะเขียน:

https://github.com/cubiclesoft/service-manager/

มันไม่ได้เป็นโซลูชั่นที่สมบูรณ์แบบเนื่องจากแต่ละแพลตฟอร์มต้องการไบนารีที่คอมไพล์แล้ว อย่างไรก็ตามอินเทอร์เฟซนั้นมีความสอดคล้องมากกว่าสิ่งที่เรามีอยู่ในขณะนี้ Service Manager น่าจะใช้ดีที่สุดเป็นเครื่องมือการปรับใช้บริการข้ามแพลตฟอร์มซึ่งตรงกับความต้องการหลังของคุณสำหรับการปรับใช้ซอฟต์แวร์ของคุณเองมากกว่าเครื่องมือเริ่ม / หยุดทั่วไป นั่นคือคุณเขียนโค้ดบางอย่างที่คุณต้องการเปลี่ยนเป็นบริการของระบบและทำให้การปรับใช้กับเครื่องอื่น ๆ ทำได้ง่ายและเชื่อถือได้โดยไม่คำนึงถึงระบบปฏิบัติการ

อย่างไรก็ตามสามารถใช้เพื่อเริ่ม / หยุดบริการที่เปิดใช้งานตัวจัดการบริการอื่น ๆ ได้ ดังนั้นตราบใดที่บริการทั้งหมดที่คุณต้องการควบคุมกำลังทำงานภายใต้ Service Manager คุณสามารถใช้เครื่องมือเดียวเพื่อเริ่มและหยุดบริการเหล่านั้น

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