เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | เนื้อหา | ถัดไป>

5.4. การจัดการบริการ‌


กาลีใช้ systemd เป็นระบบเริ่มต้น ซึ่งไม่เพียงแต่รับผิดชอบลำดับการบู๊ตเท่านั้น แต่ยังทำหน้าที่เป็นผู้จัดการบริการเต็มรูปแบบ บริการเริ่มต้น และตรวจสอบอย่างถาวร

systemd สามารถสอบถามและควบคุมด้วย systemctl. โดยไม่มีข้อโต้แย้งใดๆ มันรัน the systemctl รายการหน่วย คำสั่งซึ่งแสดงรายการของ active หน่วย. ถ้าคุณวิ่ง สถานะ systemctlผลลัพธ์จะแสดงภาพรวมตามลำดับชั้นของบริการที่ทำงานอยู่ เมื่อเปรียบเทียบผลลัพธ์ทั้งสอง คุณจะสังเกตเห็นได้ทันทีว่ามีหน่วยหลายประเภทและบริการเป็นเพียงหน่วยเดียว

แต่ละบริการจะแสดงโดย a หน่วยบริการซึ่งอธิบายโดยไฟล์บริการที่มักจะจัดส่งใน

/lib/systemd/system/ (หรือ /run/systemd/system/ หรือ /etc/systemd/system/ เรียงตามลำดับความสำคัญที่เพิ่มขึ้น และอันสุดท้ายจะเป็นผู้ชนะ) แต่ละคนอาจถูกแก้ไขโดยคนอื่น ๆ ชื่อบริการ.service.d/*.conf ไฟล์ในชุดไดเรกทอรีเดียวกัน ไฟล์หน่วยเหล่านี้เป็นไฟล์ข้อความธรรมดาที่มีรูปแบบที่ได้รับแรงบันดาลใจจากไฟล์ “*.ini” ที่รู้จักกันดีของ Microsoft Windows พร้อมด้วย สำคัญ

= ความคุ้มค่า คู่ที่จัดกลุ่มระหว่าง [ส่วน] ส่วนหัว ที่นี่เราเห็นไฟล์บริการตัวอย่างสำหรับ /lib/ systemd/system/ssh.service:


[Unit]

Description=เซิร์ฟเวอร์ OpenBSD Secure Shell After=network.target auditd.service ConditionPathExists=!/etc/ssh/sshd_not_to_be_run


[บริการ]

EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID KillMode=กระบวนการ

รีสตาร์ท = เมื่อล้มเหลว RestartPreventExitStatus = 255 ประเภท = แจ้งเตือน


[ติดตั้ง]

WantedBy=multi-user.target นามแฝง=sshd.service

[Unit]

Description=เซิร์ฟเวอร์ OpenBSD Secure Shell After=network.target auditd.service ConditionPathExists=!/etc/ssh/sshd_not_to_be_run


[บริการ]

EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID KillMode=กระบวนการ

รีสตาร์ท = เมื่อล้มเหลว RestartPreventExitStatus = 255 ประเภท = แจ้งเตือน


[ติดตั้ง]

WantedBy=multi-user.target นามแฝง=sshd.service


หน่วยเป้าหมายเป็นอีกส่วนหนึ่งของการออกแบบของ systemd แสดงถึงสถานะที่คุณต้องการบรรลุในแง่ของหน่วยที่เปิดใช้งาน (ซึ่งหมายถึงบริการที่ทำงานอยู่ในกรณีของหน่วยบริการ) มีอยู่เป็นหลักในการจัดกลุ่มการพึ่งพาหน่วยอื่นๆ เมื่อระบบเริ่มทำงาน จะทำให้หน่วยที่ต้องการเข้าถึง default.เป้าหมาย (ซึ่งเป็นสัญลักษณ์เชื่อมโยงถึง graphic.targetและซึ่งจะขึ้นอยู่กับ หลาย user.target). ดังนั้นการพึ่งพาทั้งหมดของเป้าหมายเหล่านั้นจึงเปิดใช้งานระหว่างการบู๊ต

การพึ่งพาดังกล่าวแสดงด้วย ต้องการ คำสั่งหน่วยเป้าหมาย แต่คุณไม่จำเป็นต้องแก้ไขหน่วยเป้าหมายเพื่อเพิ่มการขึ้นต่อกันใหม่ คุณยังสามารถสร้าง symlink ที่ชี้ไปที่

หน่วยขึ้นอยู่กับใน / etc / systemd / system /ชื่อเป้าหมาย.target.want/ ไดเร็กทอรี และนี่คือสิ่งที่ เปิดใช้งาน systemctl ฟู.เซอร์วิส ทำ. เมื่อคุณเปิดใช้งานบริการ คุณบอก systemd ให้เพิ่มการพึ่งพาเป้าหมายที่ระบุไว้ใน ต้องการโดย รายการของ [ติดตั้ง] ส่วนของไฟล์หน่วยบริการ ในทางกลับกัน systemctl ปิดการใช้งาน ฟู.เซอร์วิส ปล่อย symlink เดียวกันและทำให้การพึ่งพา

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


ภาพ

# สถานะ systemctl postgresql

● postgresql.service - PostgreSQL RDBMS

โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/postgresql.service; ปิดใช้งาน; ค่าที่ตั้งไว้ล่วงหน้าของผู้ขาย:

ปิดการใช้งาน)

ใช้งานอยู่: ไม่ทำงาน (ตาย)

# ls -al /etc/systemd/system/multi-user.target.wans/postgresql.service

ls: ไม่สามารถเข้าถึง '/etc/systemd/system/multi-user.target.wants/postgresql.service': ไม่

ไฟล์หรือไดเร็กทอรีดังกล่าว

# systemctl เปิดใช้งาน postgresql

[ ... ]

# ls -al /etc/systemd/system/multi-user.target.wans/postgresql.service

lrwxrwxrwx 1 รูทรูท 38 21 เม.ย. 16:21 /etc/systemd/system/multi-user.target.wants/

postgresql.service -> /lib/systemd/system/postgresql.service

# สถานะ systemctl postgresql

● postgresql.service - PostgreSQL RDBMS

โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/postgresql.service; เปิดใช้งาน; ค่าที่ตั้งไว้ล่วงหน้าของผู้ขาย:

ปิดการใช้งาน)

ใช้งานอยู่: ไม่ทำงาน (ตาย)

# เริ่ม postgresql systemctl

# สถานะ systemctl postgresql

● postgresql.service - PostgreSQL RDBMS

โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/postgresql.service; เปิดใช้งาน; ค่าที่ตั้งไว้ล่วงหน้าของผู้ขาย:

ปิดการใช้งาน)

ใช้งานอยู่: ใช้งานอยู่ (ออกแล้ว) ตั้งแต่ พฤ 2016-04-21 16:22:29 EDT; 2 วินาทีที่แล้ว กระบวนการ: 6355 ExecStart=/bin/true (code=exited, status=0/SUCCESS)

PID หลัก: 6355 (รหัส=ออก, สถานะ=0/สำเร็จ)


21 เม.ย. 16:22:29 น. kali-rolling systemd[1]: กำลังเริ่ม PostgreSQL RDBMS... 21 เม.ย. 16:22:29 น. kali-rolling systemd[1]: เริ่มต้น PostgreSQL RDBMS

ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: