Score:0

วิธีเปิดใช้งาน start/stop/restart สำหรับบริการที่เพิ่มเข้ามาใน Ubuntu

ธง ar

ฉันได้สร้างบริการที่ทำการเชื่อมต่อฐานข้อมูลและทำแบบสอบถาม ฉันต้องการทราบว่าฉันต้องการเปิดใช้งาน "service xyzservice start" หรือ "service xyzservice stop" หรือรีสตาร์ทโดยที่ฉันต้องสร้างรายการบริการนี้ใน Ubuntu หรือไม่ ขั้นตอนคืออะไร.

Score:0
ธง in

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

ดังนั้นสำหรับคำตอบนี้ ฉันจะถือว่าคุณได้สร้างเชลล์สคริปต์ที่ชื่อว่า query_db.sh. ขั้นตอนต่อไปคือการสร้าง .บริการ ไฟล์จากนั้นเปิดใช้งาน

นี่คือวิธีที่คุณสร้างบริการ:

  1. เปิด Terminal (หากยังไม่ได้เปิด)
  2. สร้างไฟล์ใหม่สำหรับบริการ ฉันจะโทรหาฉัน query_db.service:
    sudo vi /etc/systemd/system/query_db.service
    
    บันทึก: อย่าลังเลที่จะใช้โปรแกรมแก้ไขข้อความที่คุณต้องการ การใช้ vi ในตัวอย่างนี้ไม่ใช่ทั้งคำแนะนำหรือการรับรอง มันเป็นเพียงพลังของนิสัย
  3. วางสิ่งต่อไปนี้ลงในไฟล์ใหม่ แก้ไขค่าที่เกี่ยวข้องตามความเหมาะสม:
    [หน่วย]
    คำอธิบาย=ทำแบบสอบถาม
    
    [บริการ]
    ผู้ใช้=dheeraj
    WorkingDirectory=/home/dheeraj/scripts
    ExecStart=/home/dheeraj/scripts/query_db.sh
    ประเภท = ง่าย
    TimeoutStopSec=10
    รีสตาร์ท = เมื่อล้มเหลว
    รีสตาร์ทวินาที=5
    
    [ติดตั้ง]
    WantedBy=multi-user.target
    
    บันทึก: อย่าลืมเปลี่ยน ผู้ใช้, ไดเรกทอรีการทำงาน, และ ExecStart ให้คุณค่ากับสิ่งที่ถูกต้อง รายการอื่นๆ ยังคงไม่ถูกแตะต้องหากคุณไม่แน่ใจว่าจะกำหนดค่าอย่างไร
  4. ตรวจสอบว่าไฟล์สคริปต์สามารถเรียกใช้งานได้:
    sudo chmod +x /home/dheeraj/scripts/query_db.sh
    
  5. โหลดซ้ำ ระบบ ภูต:
    sudo systemctl daemon โหลดซ้ำ
    
  6. เปิดใช้งานภูตของคุณ:
    sudo systemctl เปิดใช้งาน query_db
    
  7. เริ่มภูตของคุณ:
    sudo systemctl เริ่ม query_db
    

นั่นคือทั้งหมดที่มีไป ตอนนี้คุณสามารถตรวจสอบสถานะบริการของคุณด้วย:

sudo systemctl สถานะquery_db

และแน่นอน คุณสามารถหยุดบริการด้วย:

sudo systemctl หยุด query_db

หากคุณต้องการใช้คำสั่งที่สั้นกว่านี้ ให้สลับการดำเนินการกับชื่อบริการ:

บริการ sudo สถานะquery_db
sudo บริการ query_db หยุด

นั่นคือทั้งหมดที่มีให้

DheerajK avatar
ar flag
ใน ssystem ของฉันได้รับข้อผิดพลาด :bash: systemctl: ไม่พบคำสั่ง
DheerajK avatar
ar flag
# cat /etc/os-release NAME="อูบุนตู" VERSION="16.04.2 LTS (Xenial Xerus)" ID=อูบุนตู ID_LIKE=เดเบียน PRETTY_NAME="อูบุนตู 16.04.2 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" VERSION_CODENAME=ซีเนียล UBUNTU_CODENAME=ซีเนียล ฉันอ่านในบางไซต์ที่เราต้องใช้ Upstart หากไม่พบ systemctl คุณช่วยฉันด้วยขั้นตอนในการทำให้บริการสามารถรีสตาร์ท/หยุด/เริ่มโดยใช้ Upstart ได้ไหม
in flag
ไม่. ขออภัย แต่ฉันไม่สามารถช่วยได้ 16.04 เป็น EOL มาสองสามเดือนแล้ว และฉันไม่มี VM ของเวอร์ชันนั้นให้ทำการทดสอบอีกต่อไป
DheerajK avatar
ar flag
ขอบคุณ Matigo หากคุณมีข้อมูลอ้างอิงที่ฉันสามารถใช้และลองใช้สิ่งเหล่านั้นที่จะเป็นประโยชน์ ฉันทำรหัสสำหรับ 3 บริการเสร็จแล้ว แต่ไม่สามารถเปิดใช้งาน wrt การดำเนินการเริ่ม/หยุด/รีสตาร์ทนี้

โพสต์คำตอบ

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