Rumah Tutorial sistem LINUX Meneroka dunia misteri operasi latar belakang di Linux

Meneroka dunia misteri operasi latar belakang di Linux

Feb 12, 2024 pm 02:06 PM
linux tutorial linux sistem linux arahan linux skrip shell embeddedlinux Bermula dengan linux pembelajaran linux

Mari kita meneroka dunia misteri dalam sistem pengendalian Linux - latar belakang berjalan. Dalam penggunaan harian, kita selalunya perlu menggunakan larian latar belakang untuk membiarkan tugasan dilaksanakan secara senyap di latar belakang tanpa menjejaskan kerja semasa kita. Jadi, bagaimana untuk melaksanakan operasi latar belakang dalam Linux?

Berfikir

Pertama sekali, kita perlu mempertimbangkan satu soalan Mengapa program latar belakang keluar apabila anda menutup terminal secara terus Ini kerana apabila anda menutup terminal secara terus, terminal akan menghantar isyarat SIGHUP kepada tugas latar belakang yang dimulakan dalam persekitaran semasa? , menyebabkan program yang sedang berjalan digantung Kemudian abaikan sahaja SIGHUP.

nohup

Arahan yang paling biasa digunakan ialah [nohup]. Daripada namanya, anda boleh mengetahui sama ada untuk menggantung arahan yang sedang berjalan, menutup terminal atau log keluar dari akaun Proses itu juga mesti digunakan dengan [. &] simbol.

Penggunaan: nohup Command [ Arg … ] [ & ] 探秘 Linux 中的神秘后台运行世界rreeee

Seperti yang dapat dilihat dari di atas, proses induk test.sh yang kami jalankan telah menjadi [PID 1]., dan diambil alih oleh proses utama Linux.

setsid

nohup ialah mengabaikan isyarat SIGHUP, adakah idea lain?

Arahan setip boleh membuka semula sesi, mewarisi ID kumpulan proses induk dan melepaskan diri daripada kawalan proses induk. Seperti yang anda boleh lihat dari gambar di bawah, proses induk skrip test.sh sudah pun init 1. Pada masa ini, tidak kira sama ada anda menutup atau keluar dari terminal, ia tidak ada kena mengena dengan program latar belakang.

$ nohup sh test.sh &  
# 直接关闭当前终端,再打开一个查看  
$ ps -few|grep test.sh 
Salin selepas log masuk
探秘 Linux 中的神秘后台运行世界

Satu lagi perbezaan setsid dan nohup ialah tak perlu guna simbol & background.

keluar

Gunakan arahan keluar untuk keluar dari terminal, tetapi program kami akan terus berjalan Mengapa ini?

Ini kerana apabila keluar dari terminal menggunakan arahan keluar, isyarat SIGHUP tidak akan dihantar ke tugas yang menjadi milik terminal Ia dikawal oleh item konfigurasi huponexit Anda boleh menggunakan arahan shopt melihatnya.

探秘 Linux 中的神秘后台运行世界rreeee

Konfigurasikan huponexit kepada hidup, gunakan arahan keluar sekali lagi untuk keluar, dan tugasan yang sepadan akan keluar dengan sewajarnya.

$ setsid sh test.sh 
Salin selepas log masuk

perangkap

Perintah perangkap ialah arahan terbina dalam Linux Tindakan yang perlu diambil apabila menerima isyarat yang ditentukan, diikuti dengan nama isyarat yang akan diproses adalah seperti berikut:

探秘 Linux 中的神秘后台运行世界

Apabila skrip perlu di latar belakang dan kami tidak mahu terminal keluar dan menutup program, kami boleh menambah arahan perangkap pada skrip untuk mengabaikan isyarat SIGHUP (gantung proses).

[root@api ~]# shopt |grep huponexit  
huponexit off 
Salin selepas log masuk

Arahan skrin Linux digunakan untuk program pengurusan berbilang tetingkap Ia boleh mencipta terminal dan membiarkan program berjalan di dalamnya

rreeee 探秘 Linux 中的神秘后台运行世界Seperti yang dapat dilihat daripada contoh, proses induk bagi skrip ujian ialah proses terminal skrin, dan proses induk PID1 terminal skrin juga melengkapkan perjalanan proses latar belakang.

Ringkasnya, berlari di latar belakang adalah teknik yang sangat biasa dan praktikal dalam Linux. Sama ada ia melaksanakan beberapa perkhidmatan latar belakang di bahagian pelayan atau menyelesaikan beberapa tugasan yang sudah lama dijalankan pada komputer peribadi, operasi latar belakang boleh membantu kami meningkatkan kecekapan dan memudahkan kerja harian kami.

Atas ialah kandungan terperinci Meneroka dunia misteri operasi latar belakang di Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Membuka Web.xml Cara Membuka Web.xml Apr 03, 2025 am 06:51 AM

Untuk membuka fail web.xml, anda boleh menggunakan kaedah berikut: Gunakan editor teks (seperti Notepad atau TextEdit) untuk mengedit arahan menggunakan persekitaran pembangunan bersepadu (seperti Eclipse atau NetBeans) (Windows: Notepad Web.xml; Mac/Linux: Open -A -A TextEdit Web.xml)

Empat cara untuk melaksanakan multithreading dalam bahasa c Empat cara untuk melaksanakan multithreading dalam bahasa c Apr 03, 2025 pm 03:00 PM

Multithreading dalam bahasa dapat meningkatkan kecekapan program. Terdapat empat cara utama untuk melaksanakan multithreading dalam bahasa C: Buat proses bebas: Buat pelbagai proses berjalan secara bebas, setiap proses mempunyai ruang ingatan sendiri. Pseudo-Multithreading: Buat pelbagai aliran pelaksanaan dalam proses yang berkongsi ruang memori yang sama dan laksanakan secara bergantian. Perpustakaan multi-threaded: Gunakan perpustakaan berbilang threaded seperti PTHREADS untuk membuat dan mengurus benang, menyediakan fungsi operasi benang yang kaya. Coroutine: Pelaksanaan pelbagai threaded ringan yang membahagikan tugas menjadi subtask kecil dan melaksanakannya pada gilirannya.

Untuk apa yang paling baik digunakan oleh Linux? Untuk apa yang paling baik digunakan oleh Linux? Apr 03, 2025 am 12:11 AM

Linux paling baik digunakan sebagai pengurusan pelayan, sistem tertanam dan persekitaran desktop. 1) Dalam pengurusan pelayan, Linux digunakan untuk menjadi tuan rumah laman web, pangkalan data, dan aplikasi, menyediakan kestabilan dan kebolehpercayaan. 2) Dalam sistem tertanam, Linux digunakan secara meluas di rumah pintar dan sistem elektronik automotif kerana fleksibiliti dan kestabilannya. 3) Dalam persekitaran desktop, Linux menyediakan aplikasi yang kaya dan prestasi yang cekap.

Bagaimana keserasian Debian Hadoop Bagaimana keserasian Debian Hadoop Apr 02, 2025 am 08:42 AM

Debianlinux terkenal dengan kestabilan dan keselamatannya dan digunakan secara meluas dalam persekitaran pelayan, pembangunan dan desktop. Walaupun kini terdapat kekurangan arahan rasmi mengenai keserasian langsung dengan Debian dan Hadoop, artikel ini akan membimbing anda tentang cara menggunakan Hadoop pada sistem Debian anda. Keperluan Sistem Debian: Sebelum memulakan konfigurasi Hadoop, sila pastikan sistem Debian anda memenuhi keperluan operasi minimum Hadoop, yang termasuk memasang Java Runtime Environment (JRE) dan pakej Hadoop. Langkah Penyebaran Hadoop: Muat turun dan Unzip Hadoop: Muat turun versi Hadoop yang anda perlukan dari laman web Apachehadoop rasmi dan selesaikannya

Adakah saya perlu memasang klien oracle semasa menyambung ke pangkalan data oracle menggunakan GO? Adakah saya perlu memasang klien oracle semasa menyambung ke pangkalan data oracle menggunakan GO? Apr 02, 2025 pm 03:48 PM

Adakah saya perlu memasang klien oracle semasa menyambung ke pangkalan data oracle menggunakan GO? Semasa membangun di GO, menyambung ke pangkalan data Oracle adalah keperluan biasa ...

Adakah debian rentetan serasi dengan pelbagai pelayar Adakah debian rentetan serasi dengan pelbagai pelayar Apr 02, 2025 am 08:30 AM

"Debianstrings" bukan istilah standard, dan makna khususnya masih belum jelas. Artikel ini tidak dapat mengulas secara langsung mengenai keserasian penyemak imbasnya. Walau bagaimanapun, jika "debianstrings" merujuk kepada aplikasi web yang dijalankan pada sistem Debian, keserasian penyemak imbasnya bergantung kepada seni bina teknikal aplikasi itu sendiri. Sebilangan besar aplikasi web moden komited untuk keserasian penyemak imbas. Ini bergantung kepada standard web berikut dan menggunakan teknologi front-end yang serasi (seperti HTML, CSS, JavaScript) dan teknologi back-end (seperti PHP, Python, Node.js, dll.). Untuk memastikan bahawa aplikasi itu serasi dengan pelbagai pelayar, pemaju sering perlu menjalankan ujian silang dan menggunakan responsif

Tidak dapat log masuk ke mysql sebagai akar Tidak dapat log masuk ke mysql sebagai akar Apr 08, 2025 pm 04:54 PM

Sebab utama mengapa anda tidak boleh log masuk ke MySQL sebagai akar adalah masalah kebenaran, ralat fail konfigurasi, kata laluan tidak konsisten, masalah fail soket, atau pemintasan firewall. Penyelesaiannya termasuk: periksa sama ada parameter pengikat di dalam fail konfigurasi dikonfigurasi dengan betul. Semak sama ada kebenaran pengguna root telah diubahsuai atau dipadam dan ditetapkan semula. Sahkan bahawa kata laluan adalah tepat, termasuk kes dan aksara khas. Semak tetapan dan laluan kebenaran fail soket. Semak bahawa firewall menyekat sambungan ke pelayan MySQL.

Libv adalah dua Libv adalah dua Apr 03, 2025 pm 08:03 PM

Saya membangunkan projek yang dipanggil Lua-Libuv dan gembira untuk berkongsi pengalaman saya. Hasrat asal projek ini adalah untuk meneroka cara menggunakan libuv (perpustakaan I/O yang tidak segerak yang ditulis dalam C) untuk membina pelayan HTTP yang mudah tanpa perlu mempelajari bahasa C secara mendalam. Dengan bantuan CHATGPT, saya menyelesaikan kod asas http.c. Apabila berurusan dengan sambungan yang berterusan, saya berjaya melaksanakan menutup sambungan dan membebaskan sumber pada masa yang tepat. Pada mulanya saya cuba membuat pelayan mudah yang mengakhiri program utama dengan menutup sambungan, tetapi saya mempunyai beberapa masalah. Saya telah cuba menghantar blok data menggunakan streaming, dan semasa ia berfungsi, ini menghalang benang utama. Pada akhirnya, saya memutuskan untuk berputus asa pada pendekatan ini kerana matlamat saya bukan untuk mempelajari bahasa C secara mendalam. Akhirnya, saya

See all articles