apa itu daemon linux

青灯夜游
Lepaskan: 2022-02-25 15:51:29
asal
7071 orang telah melayarinya

Di Linux, proses daemon juga dipanggil "proses elf". Ia adalah proses khas yang berjalan di latar belakang dan tidak dikawal oleh mana-mana terminal. Proses daemon adalah bebas daripada terminal kawalan dan secara berkala melaksanakan peristiwa tertentu apabila ia berlaku.

apa itu daemon linux

Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.

Definisi proses daemon

Proses daemon, juga dikenali sebagai daemon, ialah proses yang berjalan di latar belakang dan tidak dikawal oleh sebarang terminal. Proses khas yang digunakan untuk melaksanakan tugas sistem tertentu. Banyak daemon dimulakan apabila sistem but dan berjalan sehingga sistem ditutup. Yang lain bermula hanya apabila diperlukan dan berakhir secara automatik apabila tugas selesai.

Ia bebas daripada terminal kawalan dan secara berkala melaksanakan peristiwa tertentu yang berlaku. Daemon adalah proses yang sangat berguna. Kebanyakan pelayan Linux dilaksanakan menggunakan proses daemon.

Apabila sistem Linux bermula, banyak proses perkhidmatan sistem akan dimulakan Proses perkhidmatan sistem ini tidak mempunyai terminal kawalan dan tidak boleh berinteraksi secara langsung dengan pengguna. Proses lain dicipta apabila pengguna log masuk atau menjalankan program, dan ditamatkan apabila operasi tamat atau pengguna log keluar, tetapi proses perkhidmatan sistem (proses daemon) tidak terjejas oleh pengguna log masuk dan keluar, dan mereka sentiasa berlari. Proses semacam ini mempunyai nama yang dipanggil daemon.

Mari gunakan arahan ps axj untuk melihat proses dalam sistem. Parameter a bermaksud untuk menyenaraikan bukan sahaja proses pengguna semasa, tetapi juga proses semua pengguna lain parameter x bermaksud menyenaraikan bukan sahaja proses dengan terminal kawalan, tetapi juga semua proses tanpa terminal pengawalan dan maklumat berkaitan kawalan kerja.

apa itu daemon linux

(1) Apa-apa sahaja dengan -1 dalam lajur TPGID ialah proses yang tidak mengawal terminal, iaitu proses daemon

(; 2) dalam Nama-nama yang dilampirkan dalam [ ] dalam lajur COMMAND mewakili utas kernel ini dan tidak mempunyai kod ruang pengguna, jadi tiada nama fail program dan Nama arahan yang bermula dengan k biasanya digunakan mewakili Kernel;

(3) Kami sudah biasa dengan proses init udevd bertanggungjawab untuk mengekalkan fail peranti dalam direktori /dev, acpid bertanggungjawab untuk pengurusan kuasa, dan syslogd bertanggungjawab untuk mengekalkan fail log di bawah. /var/log;

(4) Anda boleh melihat Perhatikan bahawa proses daemon biasanya mempunyai nama yang berakhir dengan d, yang bermaksud Daemon.

Ciri-ciri proses daemon

(1) Di Linux, antara muka untuk setiap sistem untuk berkomunikasi dengan pengguna menjadi terminal, dan setiap proses yang berjalan dari terminal ini akan Dilampirkan ke terminal ini, terminal ini dipanggil terminal kawalan proses ini; (2) Apabila terminal kawalan ditutup, proses yang sepadan akan ditutup secara automatik. Tetapi proses daemon boleh menembusi had ini Ia dipisahkan dari terminal dan berjalan di latar belakang (Tujuan dipisahkan dari terminal adalah untuk menghalang maklumat semasa proses berjalan daripada dipaparkan dalam mana-mana terminal dan proses itu akan. tidak dicetuskan oleh mana-mana terminal yang diganggu oleh maklumat terminal), ia mula berjalan apabila ia dilaksanakan, dan tidak keluar sehingga keseluruhan sistem ditutup (sudah tentu ia boleh dianggap sebagai membunuh proses daemon yang sepadan);

(3) Jika anda mahu sesuatu yang tertentu Jika proses itu tidak terjejas oleh pengguna atau gangguan atau perubahan lain, maka proses itu mesti diubah menjadi proses daemon.

Hubungan antara proses, kumpulan proses, sesi dan terminal kawalan

Oleh kerana penciptaan proses daemon memerlukan perubahan parameter persekitaran ini, adalah sangat penting untuk difahami hubungan antara mereka Penting:

apa itu daemon linux

Kumpulan proses: Ia terdiri daripada satu atau lebih proses, dan nombor kumpulan proses (GID) ialah pemimpin proses PID proses ini.
  • Sesi: Sebenarnya dipanggil sesi, ia merangkumi semua kumpulan proses dalam tempoh tersebut Secara amnya, sesi bermula apabila pengguna log masuk. Secara umumnya, log masuk ialah terminal shell, jadi shell terminal Ia juga merupakan proses pertama sesi ini, dan sesi biasanya berakhir dengan log keluar. Untuk pemimpin bukan proses, ia boleh memanggil setsid() untuk mencipta sesi baharu.
  • Terminal kawalan (tty): secara amnya merujuk kepada terminal shell, yang mungkin wujud atau tidak semasa sesi.
Mencipta proses daemon

Langkah paling kritikal dalam mencipta proses daemon ialah memanggil fungsi setsid ke buat Ketua Sesi baharu .

Perhatikan bahawa sebelum memanggil fungsi ini, proses semasa tidak dibenarkan menjadi ketua kumpulan proses, jika tidak, fungsi mengembalikan -1. Ia juga mudah untuk memastikan bahawa proses semasa bukan ketua kumpulan proses Hanya garpu dahulu dan kemudian panggil setsid. Proses anak yang dibuat oleh fork berada dalam kumpulan proses yang sama dengan proses induk Ketua kumpulan proses mestilah proses pertama kumpulan, jadi proses anak tidak boleh menjadi proses pertama kumpulan proses kanak-kanak tidak akan ada masalah.

#includepid_t setid(void);//该函数调用成功时返回新创建的Session的id(其实也就是当前进程的id),出错返回-1。
Salin selepas log masuk
Hasil daripada berjaya memanggil fungsi ini ialah:

(1) Buat Sesi baharu, proses semasa ialah Ketua Sesi, dan id proses semasa ialah id Sesi

(2) Buat kumpulan proses baharu, proses semasa ialah Ketua kumpulan proses, dan ID proses semasa ialah ID kumpulan proses

(3) Jika semasa proses pada asalnya mempunyai terminal kawalan, kemudian Ia kehilangan terminal ini dan menjadi proses tanpa terminal kawalan. (Terminal kawalan yang dipanggil hilang bermakna terminal kawalan asal masih terbuka dan masih boleh dibaca dan ditulis, tetapi ia hanyalah fail terbuka biasa, bukan terminal kawalan).

Cara untuk mematikan proses daemon

1 Mula-mula ps axj | grep 守护进程名字, cari proses daemon yang sepadan, dan kemudian gunakan kill -9 守护进程名 untuk bunuh;

2 Gunakan perintah ps -ef untuk mencari proses daemon yang sepadan, dan kemudian gunakan perintah kill -9 untuk membunuhnya; , tutup dan mulakan semula proses pengurusan automatik.

Cadangan berkaitan: "

Tutorial Video Linux

"

Atas ialah kandungan terperinci apa itu daemon linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan