ไม่มีเอาต์พุตจากบริการคำสั่ง start / stop / restart


10

ฉันเพิ่งติดตั้ง Ubuntu 16.04 LTS และพบว่าเมื่อฉันเรียกใช้

usr@server:~$ sudo service <servicename> restart
usr@server:~$

บริการเริ่มต้นใหม่ (ฉันสามารถดูสถานะด้วยservice <servicename> status) แต่เชลล์กลับไปที่บรรทัดคำสั่งโดยตรงโดยไม่ต้องมีการคาดหวัง:

* Stopping <servicename>     [ OK ]
* Starting <servicename>     [ OK ]

คุณดูที่บันทึกเพื่อดูว่ามีข้อมูลใด ๆ ที่สามารถช่วยวินิจฉัยปัญหาหรือไม่ ควรอยู่ใน / var / log /
Diego

2
ไม่มีปัญหากับบริการของตัวเอง มันเป็นพรอมต์คำสั่งที่ส่งคืนโดยไม่มีเอาต์พุตที่ทำให้ฉันงง มันเกิดขึ้นกับทุกบริการ คำสั่งทำในสิ่งที่คาดหวัง (เริ่ม / หยุด / เริ่มบริการใหม่) แต่ไม่มีผลลัพธ์
Eduardo Coria

คำตอบ:


9

คุณไม่ควรคาดหวังผลลัพธ์ดังกล่าว

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

คำตอบนั้นเหมือนกันสำหรับคุณกับคนที่ใช้ Ubuntu เวอร์ชั่น 15.10 เมื่อปีที่แล้ว:

คุณกำลังใช้ Ubuntu เวอร์ชัน 16.10 ซึ่งเป็นระบบปฏิบัติการของระบบ การจัดการบริการระบบของคุณไม่ได้รับการดำเนินการโดยพุ่งพรวดอีกต่อไป (หรือยูทิลิตี้ใด ๆ ก็ตามที่ทำบนระบบปฏิบัติการที่ไม่ใช่ Ubuntu ก่อนหน้านี้) มันดำเนินการโดย systemd

serviceคำสั่งอาจจะเหมือนกัน ... แต่ Debian / Ubuntu serviceคำสั่งสคริปต์เปลือกที่พยายามที่จะตรวจจับอัตโนมัติไม่ว่าจะพุ่งพรวดหรือ systemd เป็นผู้จัดการบริการระบบการทำงานและเรียกใช้คำสั่งการจัดการบริการพื้นเมืองที่แท้จริงสำหรับคนธรรมดาและ systemd มันรันสองเส้นทางโค้ดที่ต่างกันโดยสิ้นเชิงสำหรับการเริ่มต้นและสำหรับ systemd

คำสั่งการจัดการบริการพื้นเมืองพุ่งพรวดเป็นinitctl start, initctl stop, initctl statusและอื่น ๆ พิมพ์ข้อความเหล่านั้นเมื่อพวกเขาไป

คำสั่งการจัดการบริการพื้นเมือง systemd มีsystemctl start, systemctl stop, systemctl statusและอื่น ๆ งานพิมพ์เหล่านั้นไม่มีเอาต์พุตเมื่อทำงาน

อ่านเพิ่มเติม


1
"คุณไม่ควรคาดหวังผลลัพธ์เช่นนี้" ไม่ใช่สถานที่ที่ดีในการเริ่มตอบ คุณพูดโดยทั่วไปว่า "ความคิดเห็นของคุณผิด" สิ่งที่คุณหมายถึงจะบอกว่าฉันคิดว่า "นี่เป็นไปไม่ได้กับ systemd" ในช่วงเริ่มต้นวันที่ผลลัพธ์ Ubuntu DID ... มันเป็นคำถามสำหรับ "ฉันจะรับคำสั่งบริการเพื่อพิมพ์ผลลัพธ์ใน 15.10 ได้อย่างไร" ก่อนหน้า 15.10, Ubuntu ใช้การพุ่งพรวดและพุ่งพรวด (เช่น sysvinit) เป็น verbose ดังนั้นโปรดอย่าพูดว่า "มันเป็นอย่างนี้มาสิบปีแล้ว" มันไม่ได้ มันเปลี่ยนไปใน 15.10 Systemd ไม่ได้ verbose และที่ได้รับการระคายเคืองสุดตั้งแต่ distros เริ่มปรับใช้
bobpaul

ผู้ถามค่อนข้างชัดเจนบอกคุณว่า xe คาดหวังอะไรและผลผลิตพุ่งพรวดไม่เหมือนกัน คุณสับสนหรือไม่ได้อ่านคำถาม
JdeBP

0

ที่จริงแล้วคุณไม่จำเป็นต้องมีเอาต์พุตตกลง ไม่มีผลลัพธ์หมายความว่าตกลง เมื่อบริการไม่เริ่มต้นอย่างถูกต้อง Ubuntu จะแสดงบางสิ่งเช่นนี้:

งานสำหรับ php5.6-fpm.service ล้มเหลวเนื่องจากกระบวนการควบคุมออกโดยมีรหัสข้อผิดพลาด ดูที่ "systemctl status php5.6-fpm.service" และ "journalctl -xe" สำหรับรายละเอียด

ในกรณีของฉันตัวอย่างนี้คือการกำหนดค่าผิดพลาดใน php-fpm.conf ของฉันซึ่งทำให้บริการไม่สามารถเริ่มทำงานได้ หลังจากทำตามคำแนะนำฉันเรียงลำดับสิ่งที่ทำให้เกิดข้อผิดพลาด

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