ฉันจะหยุดโปรแกรมที่ทำงานเมื่อเริ่มต้นใน Linux ได้อย่างไร ฉันต้องการลบแอพบางตัวออกจากการเริ่มต้นเพื่อให้สามารถจัดการได้โดยsupervisord
apache2
ฉันจะหยุดโปรแกรมที่ทำงานเมื่อเริ่มต้นใน Linux ได้อย่างไร ฉันต้องการลบแอพบางตัวออกจากการเริ่มต้นเพื่อให้สามารถจัดการได้โดยsupervisord
apache2
คำตอบ:
ขึ้นอยู่กับ distro ของคุณใช้เครื่องมือ chkconfig หรือ update-rc.d เพื่อเปิด / ปิดบริการระบบ
บนระบบสไตล์ redhat / suse / mandrake:
sudo chkconfig apache2 off
บนเดเบียน:
sudo update-rc.d -f apache2 remove
ชำระเงินหน้าคนของพวกเขาสำหรับข้อมูลเพิ่มเติม
หากคุณกำลังจัดการกับระบบ Ubuntu ที่ทันสมัยและ distros อื่น ๆ ไม่กี่คุณอาจต้องจัดการกับการรวมกันของสคริปต์เริ่มต้นแบบดั้งเดิมและสคริปต์พุ่งพรวด การจัดการสคริปต์ init ถูกครอบคลุมโดยคำตอบอื่น ๆ ต่อไปนี้เป็นวิธีหนึ่งในการหยุดบริการพุ่งพรวดจากการเริ่มบูต
# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled
ปัญหาเกี่ยวกับวิธีนี้คือไม่อนุญาตให้คุณเริ่มบริการโดยใช้:
# service start servicename
อีกทางเลือกหนึ่งคือการเปิดservicename.conf
ไฟล์ในโปรแกรมแก้ไขที่คุณชื่นชอบและใส่เครื่องหมายบรรทัดใด ๆ ที่ขึ้นต้นด้วย:
start on
นั่นคือเปลี่ยนสิ่งนี้เป็น
#start on ...
ที่ "... " เป็นอะไรก็ตามหลังจาก "เริ่มต้น" ก่อนหน้านี้ ด้วยวิธีนี้เมื่อคุณต้องการเปิดใช้งานอีกครั้งคุณไม่จำเป็นต้องจำว่าพารามิเตอร์ "เริ่มต้น" คืออะไร
สุดท้ายหากคุณมีเวอร์ชั่นใหม่ของการพุ่งพรวดคุณสามารถเพิ่มคำว่า "แมนนวล" ไปยังท้ายไฟล์กำหนดค่า คุณสามารถทำได้โดยตรงจากเปลือก:
# echo "manual" >> /etc/init/servicename.conf
สิ่งนี้จะทำให้คนธรรมดาไม่สนใจวลี "เริ่มต้น" ใด ๆ ก่อนหน้านี้ในไฟล์
ในระบบ Fedora และ Future RHEL ล่าสุด
systemctl disable httpd.service
จะปิดใช้งานบริการ httpd
systmctl
คำสั่งนี้ใช้ได้ดี
เพื่อแสดงรายการบริการเริ่มต้นทั้งหมด
systemctl
หากต้องการหยุดบริการไม่ให้เริ่มต้นทำงาน
sudo systemctl disable servicename
เช่นถ้าเราต้องการหยุดการทำงานเซิร์ฟเวอร์ ssh เมื่อเริ่มต้น
sudo systemctl disable sshd.service
เราสามารถเปิดใช้งานสิ่งนี้ได้อีกครั้งโดยใช้
sudo systemctl enable sshd.service
การแจกแจงลินุกซ์เกือบทุกครั้งใช้ systemd สำหรับการเริ่มบริการ bootstrapping ดังนั้นคำสั่งด้านบนสามารถใช้งานได้กับ distros ส่วนใหญ่
Slackware และ Arch linux มีวิธีที่คล้ายกันในการหยุด / เริ่มกระบวนการตอนบู๊ตซึ่งแตกต่างจากตัวอย่าง Ubuntu และ Redhat สไตล์ที่ระบุด้านบน
ในทั้ง Slackware และ Arch linuxes มีสคริปต์ sh ในไดเรกทอรี/etc/rc.d
โดยทั่วไปหนึ่งสคริปต์ต่อ daemon หรือหนึ่งสคริปต์ต่อระบบย่อย
ตัวอย่างเช่น Slackware เริ่มต้น Apache เว็บเซิร์ฟเวอร์ด้วยสคริปต์/etc/rc.d/rc.httpd
เรียกในเวลาที่เหมาะสมในระหว่างการเริ่มต้นระบบด้วยอาร์กิวเมนต์ "เริ่มต้น" Arch linux มีสคริปต์ที่ต่างชื่อกัน แต่สิ่งเดียวกันก็เกิดขึ้น
เพื่อป้องกันไม่ให้กระบวนการบางอย่างเริ่มต้นในระหว่างการบูตระบบบน Slackware คุณเพียงแค่สร้างสคริปต์ที่เหมาะสมใน /etc/rc.d ซึ่งไม่สามารถเรียกใช้งานได้ เพื่อป้องกันไม่ให้ Apache เริ่มการบู๊ตครั้งถัดไป:
chmod -x /etc/rc.d/rc.httpd
ในการหยุด Apache ที่เริ่มเมื่อบู๊ต: /etc/rc.d/rc.httpd stop
คุณจะต้องเป็นรูท
ซุ้มประตูค่อนข้างซับซ้อนกว่าเล็กน้อย ไฟล์ /etc/rc.conf ซึ่งเป็นเชลล์สคริปต์มีอาร์เรย์ DAEMONS เพื่อป้องกันไม่ให้ Apache เริ่มต้นตอนบู๊ตคุณต้องเปลี่ยนบรรทัดนี้ใน /etc/rc.conf:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd httpd ntpd postgresql)
ถึงบรรทัดนี้:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd ntpd postgresql)
หากต้องการหยุด apache ที่กำลังรันอยู่คุณจะต้องเรียกใช้/etc/rc.d/httpd stop
ในฐานะรูท
บน Ubuntu 10.04 คุณสามารถควบคุมโปรแกรมเริ่มต้นบางอย่างจาก GUI
System→การPreferences→การStartup Applications
1) แตะ superkey บนแป้นพิมพ์ของคุณ 2) ค้นหา 'แอปพลิเคชันเริ่มต้น' 3) เลือกโปรแกรมที่คุณต้องการปิดการใช้งาน 4) กดปุ่มนี้เพื่อตอบคำตอบถ้า worx