(baca: "Day-mens"), adalah bagian dari OS juga, dan daemons adalah nama lain dari process-process yang berjalan/bekerja di belakang layar (background).
Contohnya, ketika kita login atau ketika kita mengetikkan perintah print, login atau printing service itu jalan sebagai sebuah daemon.
Di Linux, kita bisa liat daftar process-process yang sedang berjalan dengan mengetikkan perintah ps -ef
. Tiap process punya identitas uniknya masing-masing yang disebut PID
yang berarti Process IDentifier
.
Salah satu process yang krusial di Linux adalah init
process, yang bisa dibilang sebagai kakek dari semua process-process, kenapa kok dibilang kakek? Karena setiap process yang jalan, kecuali kernel, adalah (child) turunan dari init
process ini dan bisa dilacak ulang sampai init
. Kernelnya sendiri jalan di PID 0
sedangkan init
process jalan di PID 1
.
Secara teknis, sebuah daemon adalah parent process yang mulai berjalan ketika boot OS telah diinisialisasi dan booting. Jadi daemons telah dikonfigurasi untuk jalan dari /etc/initd
yang mana initd
berarti initial daemons. Ini berarti kalau initd
biasanya punya PPID (Parent Process IDentifier) 1
. Jadi kita bisa cari daemons dengan cara mencari process yang memiliki PPID 1
.
Coba ketik perintah ps -ef | awk '$3 == 1'
.
$ ps -ef | awk '$3 == 1'
root 278 1 0 14:29 ? 00:00:00 /lib/systemd/systemd-udevd
root 552 1 0 14:29 ? 00:00:00 /sbin/dhclient -1 -v -pf /run/dhclient.ens3.pid -lf /var/lib/dhcp/dhclient.ens3.leases -I -df /var/lib/dhcp/dhclient6.ens3.leases ens3
root 603 1 0 14:29 ? 00:00:00 /sbin/rpcbind -f -w
root 627 1 0 14:29 ? 00:00:00 /usr/sbin/cron -f
syslog 632 1 0 14:29 ? 00:00:00 /usr/sbin/rsyslogd -n
message+ 634 1 0 14:29 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
root 646 1 0 14:29 ? 00:00:00 /lib/systemd/systemd-logind
root 648 1 0 14:29 ? 00:00:00 /usr/lib/accountsservice/accounts-daemon
root 703 1 0 14:29 ? 00:00:00 /usr/sbin/irqbalance --pid=/var/run/irqbalance.pid
root 738 1 0 14:29 ? 00:00:00 /usr/sbin/sshd -D
root 739 1 0 14:29 ? 00:00:00 /usr/bin/containerd
root 754 1 0 14:29 tty1 00:00:00 /sbin/agetty --noclear tty1 linux
root 760 1 0 14:29 ttyS0 00:00:00 /sbin/agetty --keep-baud 115200 38400 9600 ttyS0 vt220
ntp 768 1 0 14:29 ? 00:00:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 109:116
root 796 1 0 14:29 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 1057 1 0 14:32 ? 00:00:00 /lib/systemd/systemd --user
Ketika kita jalanin perintah ps -ef
, kita akan melihat semua process pada layar kita seperti contoh diatas.
Kolom kedua menunjukkan Process ID (PID)
dan kolom ketiga menunjukkan Parent ID
. Jadi perintah awk
disini akan fokus pada kolom ketiga (ditandai dengan $3) dan akan mengecek apakah PPID sama dengan (==) 1, yang mana PPID 1 adalah PPID untuk daemons.
Top comments (0)