Saya biasanya menggunakan service start/stop
atau initctl start/stop
untuk memulai atau menghentikan proses daemon tetapi sekarang apa yang saya cari adalah untuk menonaktifkan proses daemon mulai dari contoh startup mysqld
.
Saat ini apa yang saya lakukan adalah mengubah nama /etc/init/mysql.conf
untuk /etc/init/mysql.conf.bak
tapi setelah membaca sedikit tentang systemd
saya datang untuk mengetahui bahwa ia menyediakan enable & disable
pilihan untuk tugas di atas.
Jadi, apakah ada sesuatu yang serupa di ubuntu 12.04 dengan upstart
.
systemctl [enable|disable|is-enabled] mysqld.service
Jawaban:
Anda dapat menonaktifkan layanan dengan menjalankan perintah berikut:
Kutipan halaman manual:
sumber
Cara yang benar untuk menonaktifkan dan memulai layanan, adalah membuat file XX.override,
echo 'manual' > /etc/init/mysqld.override
Dengan begitu layanan pemula tidak akan memulai secara otomatis
sumber
Ubuntu 12.04
?@RSK yes, why don't you just give it a try?
Saya kira, karena sangat merepotkan untuk memulai ulang sistem dengan "a try" untuk setiap saran dari halaman ini.@ warl0ck sudah benar; ingin menambahkan bahwa informasi ini didokumentasikan dengan cukup baik dalam dokumentasi Pemula: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
Secara khusus:
sumber
Ada juga perangkat lunak yang bagus untuk membantu dalam hal ini. Ini disebut rcconf.
Cukup unduh menggunakan:
dan menggunakannya dengan perintah
Anda mendapatkan antarmuka (baris perintah) yang bagus untuk menonaktifkan / mengaktifkan layanan.
sumber
Mencoba menavigasi ke
/etc/rc2.d
dan mengubah nama apa yang ingin tidak dijalankan pada saat startup: mengubah (awal, modal) "S" menjadi "K" (misalnya,S02mysql
untukK02mysql
). Jika Anda berubah pikiran, balik saja. Saya pikir 2 merujuk ke runlevel, dalam hal apa 2 adalah default, multiuser runlevel. Mungkin di situlah Anda memiliki sebagian besar barang untuk penggunaan komputer sehari-hari.Sunting : Baca komentar James O'Gorman di bawah ini.
sumber
who -r
ataurunlevel
.who --runlevel
,.init
akan menjalankan 'KXXscript stop' saat shutdown. Anda harus menghapus symlink atau menghapus bit eksekusi dari skrip init asli. Saya percaya Debian menggunakanupdate-rc.d
untuk mengelola ini. Penggunaan RHEL (dan turunannya)chkconfig
.Dengan Pemula, konfigurasi layanan terletak pada file dalam
/etc/init/
. Misalnya ssh dikendalikan menggunakan file konfigurasi/etc/init/ssh.conf
File ini menentukan "acara" yang akan meminta Pemula untuk memulai "pekerjaan".
Untuk mencegah layanan memulai secara otomatis, salah satu dari beberapa metode dapat digunakan:
a) Ubah nama file service.conf sehingga tidak berakhir dengan .conf
b) Berikan komentar pada baris "mulai" dari file service.conf.
Dalam versi yang lebih baru dari pemula (setidaknya sejak v1.3) Anda juga dapat mengganti mulai secara online menggunakan file service.override, sehingga Anda dapat menggunakan:
# echo manual > /etc/init/service.override
Terakhir Anda juga dapat menambahkan kata kunci "manual" ke akhir file konfigurasi layanan, mis. Via:
# echo manual >> /etc/init/service.conf
Perhatikan bahwa ini tidak "menghentikan" layanan yang sedang berjalan, itu hanya mencegahnya dari memulai secara otomatis. Ketika diatur untuk startup "manual" Anda mengontrol layanan menggunakan initctl, misalnya untuk berhenti dan memulai daemon SSH:
# initctl stop ssh
# initctl start ssh
Dokumentasi terbaik untuk Pemula adalah di http://upstart.ubuntu.com/cookbook/
Bagian 11.44 mencakup "menonaktifkan layanan dari memulai otomatis, di sini: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
sumber
Ya, saya harus mengatakan itu
sedikit menyesatkan karena itu berarti menambahkan file override. Saya menguji ini pada 14,04 dengan manajer jaringan dan berikut ini tidak berfungsi
Namun ini berhasil
Jadi, IMO, initctl mencari baris tanpa komentar pertama dan mengeksekusinya. Mungkin saya salah, tetapi itu adalah hasil tes saya. Masukan dipersilakan.
sumber