GNU/Linux >> Belajar Linux >  >> Linux

Periksa layanan yang berjalan di Linux

Saat Anda perlu memecahkan masalah layanan jaringan, langkah pertama adalah memastikan bahwa layanan berjalan.

Jika layanan memiliki skrip inisialisasi (init) yang terinstal, Anda dapat menggunakanservice perintah untuk memulai, menghentikan, dan memeriksa status layanan. Perintah ini mereferensikan layanan dengan menggunakan skrip initnya, yang disimpan di /etc/init.d direktori untuk distribusi berbasis Debian® danetc/rc.d/init.d direktori untuk distribusi berbasis Red Hat®.

Jika Anda tidak mengetahui nama yang digunakan sistem untuk suatu layanan, periksa salah satu direktori sebelumnya dengan menggunakan ls perintah diikuti dengan nama direktori. Beberapa nama bervariasi tergantung pada distribusi Anda. Misalnya, Apache® adalah httpd di CentOS® dan apache2 pada sistem operasi Ubuntu®.

Catatan :Banyak distribusi Linux® yang lebih baru menggunakan systemd alih-alihnetstat untuk memeriksa layanan. Jika Anda menggunakan systemd , ganti semuaservice <service-name> <status> perintah dengan systemct1 <status> <service-name> .Untuk informasi lebih lanjut tentang systemct1 perintah, lihat Fedora™SysVinit to Systemd Cheatsheet.

Periksa status layanan

Layanan dapat memiliki salah satu status berikut:

  • start :Layanan telah dimulai.
  • stop :Layanan telah berhenti berjalan.
  • restart :Layanan sedang reboot dan akan dimulai setelah proses selesai.

Contoh berikut menunjukkan cara memeriksa status httpd di CentOS dengan menggunakan service perintah:

$ sudo service httpd status
httpd is stopped

Mulai layanan

Jika layanan tidak berjalan, Anda dapat menggunakan service perintah untuk memulainya. Contoh berikut memulai httpd layanan:

$ sudo service httpd start
Starting httpd:                                            [  OK  ]

Jika aplikasi tidak dapat dijalankan, sistem akan melaporkan kegagalan dan biasanya menampilkan pesan yang menunjukkan penyebab masalah.

$ sudo service httpd start
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[FAILED]

Gunakan netstat untuk menemukan konflik port

Pada contoh sebelumnya, httpd tidak dapat dimulai karena sesuatu sudah mendengarkan di port. Untuk mengetahui apa yang sedang didengarkan, Anda dapat menjalankannetstat perintah.

Jalankan perintah berikut untuk menampilkan daftar program yang mendengarkan dan port yang mereka gunakan:

# netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 10.176.77.113:3306          0.0.0.0:*                   LISTEN      28509/mysqld
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      2113/nc
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1115/master
tcp        0      0 :::22                       :::*                        LISTEN      1051/sshd

Outputnya menunjukkan bahwa nc program (yang muncul di Program name kolom) sedang mendengarkan pada port 80 (yang muncul di Local Address kolom). Menghentikan program ini akan mengaktifkan httpd untuk dimulai.

Catatan :Untuk informasi lebih lanjut tentang netstat perintah, lihat Memeriksa port mendengarkan dengan netstat.

Periksa status xinetd

Jika layanan tidak berjalan, mungkin karena server super seperti Extended Internet Service Daemon (xinetd ) digunakan untuk meluncurkan program saat koneksi diterima. Jika ini masalahnya, memulai layanan mungkin telah menyelesaikan masalah. Jalankan perintah berikut untuk memverifikasi bahwa masalah telah teratasi:

$ sudo service xinetd status
xinetd (pid  8795) is running...

Periksa log

Jika Anda tidak dapat memulai layanan, tinjau log Anda untuk melihat apakah log tersebut berisi informasi tentang masalah tersebut.

Langkah selanjutnya

Setelah Anda yakin bahwa aplikasi sedang berjalan, periksa sumber daya server untuk memverifikasi berapa banyak yang digunakan aplikasi Anda.


Linux
  1. Periksa layanan mana yang mendengarkan pada port linux yang diberikan

  2. 'portmap' layanan OS Linux

  3. Layanan OS Linux 'diaudit'

  1. Layanan OS Linux 'nfs'

  2. Layanan OS Linux 'microcode_ctl'

  3. Layanan OS Linux 'NetFS'

  1. Layanan OS Linux 'hplip'

  2. Layanan OS Linux 'ldap'

  3. Layanan OS Linux 'yppasswdd'