GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengetahui apakah saya menggunakan systemd di Linux?

Periksa proses apa yang berjalan sebagai PID 1. Anda dapat melakukannya dengan menjalankan ps 1 dan bergulir ke atas. Jika Anda memiliki beberapa systemd yang berjalan sebagai PID 1, Anda memiliki systemd yang berjalan.

Atau, jalankan systemctl untuk membuat daftar unit systemd yang sedang berjalan.

Anda mungkin juga ingin memeriksa apakah /sbin/init itu; file /sbin/init akan memberi tahu Anda apakah itu benar-benar dapat dieksekusi atau jika itu adalah tautan simbolis ke beberapa paket lain yang dapat dieksekusi. Pada kotak systemd, misalnya:

[email protected] / # file /sbin/init
/sbin/init: symbolic link to ../lib/systemd/systemd

Untuk informasi lebih lanjut, lihat ini:https://en.wikipedia.org/wiki/Linux_startup_process

Cara lain untuk melihat dengan tepat apa yang Anda miliki di sistem adalah mengetik man init dan melihat halaman manual program mana yang Anda buka.


Saya tahu ini adalah pertanyaan lama, tetapi karena saya baru saja bertanya pada diri sendiri pertanyaan yang sama - inilah pertanyaan kedua saya.

Solusi terbaik yang saya buat

ps --no-headers -o comm 1

Ini mengembalikan systemd atau init dan tampak andal di seluruh distribusi dan rilis Linux.

file /sbin/init akan berhasil, dengan bantuan pencocokan pola. Output dari ps 1 tampaknya tidak membantu karena pada beberapa distribusi Linux ia akan mencetak 'init' (symlink) meskipun systemd sedang digunakan.

Debian 8

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:02 /sbin/init
$ file /sbin/init
/sbin/init: symbolic link to /lib/systemd/systemd

RHEL 7

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     7:46 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
$ file /sbin/init
/sbin/init: symbolic link to `../lib/systemd/systemd'

SLES 12

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:24 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
$ file /sbin/init
/sbin/init: symbolic link to `../usr/lib/systemd/systemd'

openSUSE 13.1

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:33 /sbin/init showopts
$ /sbin/init: symbolic link to `../usr/lib/systemd/systemd'

Linux
  1. Cara membuat kata sandi acak di linux menggunakan /dev/random

  2. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  3. Bagaimana Systemd Menggunakan Skrip /etc/init.d?

  1. Cara men-debug program C di Linux menggunakan gdb

  2. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  3. Cara mengetahui apakah suatu sistem menggunakan sistem init SysV, Upstart atau Systemd

  1. Bagaimana Mengetahui Distribusi Linux Yang Anda Gunakan?

  2. Cara Mendaftar Pengguna di Linux

  3. Cara membuat layanan Systemd di Linux