Pengurusan Proses Siri RHCSA di RHEL 7 Boot, Shutdown, dan segala -galanya di antara - Bahagian 5

Pengurusan Proses Siri RHCSA di RHEL 7 Boot, Shutdown, dan segala -galanya di antara - Bahagian 5

Kami akan memulakan artikel ini dengan semakan keseluruhan dan ringkas mengenai apa yang berlaku sejak saat anda menekan Kuasa butang untuk menghidupkan anda RHEL 7 pelayan sehingga anda dibentangkan dengan skrin log masuk dalam antara muka baris arahan.

Proses Boot Linux

Sila ambil perhatian bahawa:

1. Prinsip asas yang sama berlaku, dengan pengubahsuaian kecil, kepada pengagihan Linux yang lain juga, dan
2. Keterangan berikut tidak bertujuan untuk mewakili penjelasan menyeluruh mengenai proses boot, tetapi hanya asas.

Proses Boot Linux

1. The Jawatan (Kuasa pada Ujian Sendiri) Memulakan dan melakukan pemeriksaan perkakasan.

2. Apabila Jawatan Kemasan, kawalan sistem diserahkan kepada pemuat boot peringkat pertama, yang disimpan sama ada pada sektor boot salah satu cakera keras (untuk sistem yang lebih lama menggunakan BIOS dan MBR), atau partition EFI yang berdedikasi (U).

3. Loader Boot Peringkat Pertama Kemudian Memuatkan Pemuat Boot Tahap Kedua, Selalunya Grub (Loader Boot Bersepadu Grand), yang tinggal di dalam /boot, yang seterusnya memuatkan kernel dan sistem fail berasaskan RAM awal (juga dikenali sebagai initramfs, yang mengandungi program dan fail binari yang melakukan tindakan yang diperlukan untuk akhirnya melancarkan sistem fail akar sebenar).

4. Kami dibentangkan dengan skrin percikan yang membolehkan kami memilih sistem operasi dan kernel untuk boot:

Skrin menu boot

5. Kernel menetapkan perkakasan yang dilampirkan pada sistem dan sekali sistem fail root telah dipasang, melancarkan proses dengan PID 1, yang seterusnya akan memulakan proses lain dan membentangkan kami dengan arahan log masuk.

Catatan: Bahawa jika kita ingin berbuat demikian pada masa akan datang, kita dapat mengkaji spesifik proses ini menggunakan arahan DMESG dan menapis outputnya menggunakan alat yang telah kita jelaskan dalam artikel sebelumnya dalam siri ini.

Skrin log masuk dan proses PID

Dalam contoh di atas, kami menggunakan yang terkenal Perintah PS Untuk memaparkan senarai proses semasa yang proses induknya (atau dengan kata lain, proses yang memulakannya) adalah sistemd (Pengurus sistem dan perkhidmatan yang paling banyak pengagihan Linux moden telah beralih ke) semasa permulaan sistem:

# PS -O PPID, PID, Uname, Comm --PPID = 1 

Ingat bahawa -o bendera (pendek untuk -format) membolehkan anda membentangkan output dari ps dalam format yang disesuaikan untuk memenuhi keperluan anda menggunakan kata kunci yang ditentukan dalam Penentu format standard seksyen dalam lelaki ps.

Kes lain di mana anda ingin menentukan output ps Daripada pergi dengan lalai adalah apabila anda perlu mencari proses yang menyebabkan beban CPU dan / atau memori yang signifikan, dan menyusunnya dengan sewajarnya:

# ps aux-sort =+pcpu # sort by %cpu (menaik) # ps aux-sort = -pcpu # sort by %cpu (turun) # ps aux ---sort =+pmem # sort by %mem (menaik ) # ps aux-sort = -pmem # sort by %mem (turun) # ps aux-sort =+pcpu, -pmem # menggabungkan jenis dengan %cpu (menaik) dan %mem (turun) 
Sesuaikan output arahan PS

Pengenalan kepada Sistem

Beberapa keputusan di dunia Linux telah menyebabkan lebih banyak kontroversi daripada penggunaan sistemd oleh pengagihan linux utama. Nama penyokong SystemD sebagai kelebihan utamanya fakta berikut:

Baca juga: Kisah di belakang 'init' dan 'systemd'

1. SystemD membolehkan lebih banyak pemprosesan dilakukan selari semasa permulaan sistem (berbanding dengan lebih tua Sysvinit, yang selalu cenderung lebih perlahan kerana ia mula memproses satu persatu, memeriksa jika seseorang bergantung pada yang lain, dan kemudian menunggu daemon untuk melancarkan lebih banyak perkhidmatan dapat dimulakan), dan

2. Ia berfungsi sebagai pengurusan sumber dinamik dalam sistem yang sedang berjalan. Oleh itu, perkhidmatan dimulakan apabila diperlukan (untuk mengelakkan memakan sumber sistem jika mereka tidak digunakan) dan bukannya dilancarkan tanpa alasan yang sah semasa boot.

3. Keserasian ke belakang dengan Sysvinit Skrip.

Sistemd dikawal oleh Systemctl utiliti. Sekiranya anda datang dari a Sysvinit latar belakang, kemungkinan anda akan biasa dengan:

  1. The perkhidmatan alat, yang mana -mana sistem yang lebih tua - digunakan untuk menguruskan skrip sysvinit, dan
  2. Utiliti ChkConfig, yang melayani tujuan mengemas kini dan menanyakan maklumat runlevel untuk perkhidmatan sistem.
  3. menutup, yang mesti anda gunakan beberapa kali untuk memulakan semula atau menghentikan sistem yang sedang berjalan.

Jadual berikut menunjukkan persamaan antara penggunaan alat warisan ini dan Systemctl:

Alat warisan Setara sistemCTL Penerangan
Nama perkhidmatan bermula Nama Mula SystemCtl Nama Mula (di mana nama adalah perkhidmatan)
Nama Perkhidmatan Berhenti Nama Berhenti SystemCtl Nama berhenti
Nama Perkhidmatan Condrestart Nama SistemCtl Try-Restart Mulakan semula nama (jika sudah berjalan)
Nama perkhidmatan dimulakan semula Nama Mulakan semula SystemCtl Mulakan semula nama
Nama perkhidmatan tambah nilai Sistem Muat semula SistemCtl Muat semula konfigurasi untuk nama
Status Nama Perkhidmatan Nama status SystemCTL Memaparkan status nama semasa
Perkhidmatan -Status -All Systemctl Memaparkan status semua perkhidmatan semasa
Nama Chkconfig ON SistemCtl Enable Nama Dayakan nama untuk dijalankan pada permulaan seperti yang dinyatakan dalam fail unit (fail yang mana titik symlink). Proses membolehkan atau melumpuhkan perkhidmatan untuk memulakan secara automatik pada boot terdiri daripada menambah atau mengeluarkan pautan simbolik di dalam direktori/etc/systemd/sistem.
Nama Chkconfig OFF SistemCTL Lumpuhkan Nama Melumpuhkan nama untuk dijalankan pada permulaan seperti yang dinyatakan dalam fail unit (fail yang mana titik symlink)
Nama Chkconfig -list Nama SistemCTL IS-enabled Sahkan sama ada Nama (Perkhidmatan Khusus) kini diaktifkan
Chkconfig -list Systemctl -type = Service Memaparkan semua perkhidmatan dan memberitahu sama ada ia diaktifkan atau dilumpuhkan
Shutdown -h sekarang SYSTEMCTL POWEROFF Power-off mesin (berhenti)
shutdown -r sekarang Reboot Systemctl Reboot sistem

Sistemd Juga memperkenalkan konsep unit (yang boleh sama ada perkhidmatan, titik gunung, peranti, atau soket rangkaian) dan sasaran (iaitu bagaimana SystemD berjaya memulakan beberapa proses yang berkaitan pada masa yang sama, dan boleh dipertimbangkan -walaupun tidak sama- sama dengan runlevels di Berasaskan Sysvinit sistem.

Menjumlahkan

Tugas lain yang berkaitan dengan pengurusan proses termasuk, tetapi mungkin tidak terhad kepada, keupayaan untuk:

1. Laraskan keutamaan pelaksanaan sejauh penggunaan sumber sistem berkenaan dengan proses:

Ini dicapai melalui Renice Utiliti, yang mengubah keutamaan penjadualan satu atau lebih proses berjalan. Secara ringkas, keutamaan penjadualan adalah ciri yang membolehkan kernel (hadir dalam versi => 2.6) untuk memperuntukkan sumber sistem mengikut keutamaan pelaksanaan yang diberikan (aka kesedihan, dalam jarak dari -20 melalui 19) dari proses tertentu.

Sintaks asas Renice adalah seperti berikut:

# Renice [-n] Pengenalpastian Keutamaan [-GPU] 

Dalam perintah generik di atas, hujah pertama adalah nilai keutamaan yang akan digunakan, sedangkan hujah lain dapat ditafsirkan sebagai proses ID (yang merupakan tetapan lalai), ID Kumpulan Proses, ID Pengguna, atau Nama Pengguna. Pengguna biasa (selain daripada akar) hanya dapat mengubahsuai keutamaan penjadualan proses yang dimilikinya, dan hanya meningkatkan tahap niceness (yang bermaksud mengambil kurang sumber sistem).

Keutamaan penjadualan proses
2. Bunuh (atau mengganggu pelaksanaan biasa) proses yang diperlukan:

Dalam istilah yang lebih tepat, membunuh proses yang memberi isyarat untuk menghantarnya sama ada menyelesaikan pelaksanaannya dengan anggun (Sigterm = 15) atau segera (Sigkill = 9) melalui arahan membunuh atau pkill.

Perbezaan antara kedua -dua alat ini adalah bahawa bekas digunakan untuk menamatkan proses tertentu atau kumpulan proses sama sekali, sementara yang terakhir membolehkan anda melakukan perkara yang sama berdasarkan nama dan atribut lain.

Sebagai tambahan, pkill Datang dibundel dengan pgrep, yang menunjukkan kepada anda PID yang akan terjejas sekiranya pkill digunakan. Sebagai contoh, sebelum berlari:

# pkill -u gacanepa 

Mungkin berguna untuk dilihat sekilas yang mana PIDS dimiliki oleh Gacanepa:

# pgrep -l -u gacanepa 
Cari PID Pengguna

Secara lalai, kedua -duanya bunuh dan pkill hantar Sigterm isyarat kepada proses. Seperti yang telah disebutkan di atas, isyarat ini boleh diabaikan (sementara proses menyelesaikan pelaksanaannya atau untuk kebaikan), jadi apabila anda serius perlu menghentikan proses berjalan dengan alasan yang sah, anda perlu menentukan Sigkill Isyarat pada baris arahan:

# Kill -9 Pengenal # Membunuh Proses atau Kumpulan Proses # Kill -S Signal Identifier # IDEM # PKILL -S IDENTIFIER SIGNAL # Bunuh proses dengan nama atau atribut lain 

Kesimpulan

Dalam artikel ini kita telah menjelaskan asas -asas proses boot didalam RHEL 7 sistem, dan menganalisis beberapa alat yang tersedia untuk membantu anda dengan proses pengurusan menggunakan utiliti biasa dan perintah khusus SystemD.

Perhatikan bahawa senarai ini tidak dimaksudkan untuk menutup semua loceng dan peluit topik ini, jadi jangan ragu untuk menambah alat dan arahan pilihan anda sendiri ke artikel ini menggunakan borang komen di bawah. Soalan dan komen lain juga dialu -alukan.