อะไรคือความแตกต่างระหว่าง Process: และ PID หลัก: ในผลลัพธ์ของ systemctl status?


10

อะไรคือความแตกต่างระหว่างProcess:และMain PID:บรรทัดในเอาต์พุตของsystemctl statusบนหน่วยบริการ? หมายเลขกระบวนการหมายถึงอะไร

ตัวอย่างเช่น:

ในการส่งออกจากsystemctl status sshdที่เราเห็นโฆษณาที่มีเหนือเส้นบอกว่าProcess: Main PID:มีหมายเลขกระบวนการที่แตกต่างจากMain PID:บรรทัด นี่คือหนึ่งในคู่มือผู้ดูแลระบบ RHEL :

# systemctl status sshd
sshd.service - daemon เซิร์ฟเวอร์ OpenSSH
   โหลดแล้ว: โหลดแล้ว (/usr/lib/systemd/system/sshd.service; ถูกปิดใช้งาน)
   ใช้งาน: เปิดใช้งาน (ทำงาน) ตั้งแต่จันทร์ 2014-09-01 09:35:17 EST; 2 วินาทีก่อน
  กระบวนการ: 6191 ExecStartPre = / usr / sbin / sshd-keygen (รหัส = ออกจากสถานะ = 0 / สำเร็จ)
 PID หลัก: 6194 (sshd)
   CGroup: /system.slice/sshd.service
           └─6194 / usr / sbin / sshd -D

ฉันพยายามที่จะเข้าใจว่าหมายเลขกระบวนการนั้นคืออะไร


2
คุณควรแก้ไขคำถามของคุณเพื่อแสดงผลลัพธ์ที่แท้จริงของsystemctl
Basile Starynkevitch

ตัวอย่างของสิ่งที่ผู้ถามถามเกี่ยวกับหาได้ยากทุกคน
JdeBP

คำตอบ:


8

Main PIDคือ PID ของกระบวนการที่เริ่มใช้ExecStart=ตัวเลือก (ในตัวอย่างsshd) Process:ใช้สำหรับกระบวนการอื่น ๆ ที่อาจได้รับการตั้งขึ้นโดยใช้บริการExecStartPre, ExecStartPost, ExecStopPostตัวเลือกอื่น ๆ (ในตัวอย่างsshd-keygenนี้เริ่มใช้ExecStartPre=ตัวเลือก) คุณสามารถมีหลายบรรทัดบนProcess:หากมีมากกว่าหนึ่งกระบวนการที่เริ่มต้นโดยบริการนอกเหนือจากกระบวนการหลัก หากไม่มีกระบวนการอื่นที่เกี่ยวข้องคุณจะเห็นMain PIDคุณค่าเท่านั้น

ฉันยอมรับว่านี่ไม่ชัดเจนในเอกสารสำหรับExecStartPreแต่ doc สำหรับExecStartชี้แจงว่ากระบวนการหลักเป็นกระบวนการที่เริ่มต้นโดยตัวเลือกนั้นยกเว้นType=forkingในกรณีนี้กระบวนการ daemon ถือเป็นกระบวนการหลัก

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