Pengurusan proses

Menguruskan Proses Di Ubuntu Linux

Menguruskan Proses Di Ubuntu Linux
Menguruskan proses di Linux adalah topik penting untuk dipelajari dan difahami, kerana ia adalah sistem operasi multitasking dan mempunyai banyak proses yang sedang berlangsung pada masa yang sama. Linux menyediakan banyak alat untuk menguruskan proses, seperti menyenaraikan proses yang sedang berjalan, proses pembunuhan, pemantauan penggunaan sistem, dll. Di Linux, setiap proses diwakili oleh ID Prosesnya (PID). Terdapat beberapa atribut lain untuk proses seperti id pengguna dan id kumpulan jika pengguna atau kumpulan menjalankan proses tersebut. Kadang kala anda perlu membunuh atau berinteraksi dengan proses, jadi anda harus tahu bagaimana menguruskan proses ini agar sistem anda berjalan dengan lancar. Di Linux, proses dapat dikendalikan dengan perintah seperti ps, pstree, pgrep, pkill, lsof, top, nice, renice dan kill, dan lain-lain.

Proses

Menjalankan contoh program dipanggil proses. Di Linux, id proses (PID) digunakan untuk mewakili proses yang khas untuk setiap proses. Terdapat dua jenis proses,

Proses Latar Belakang

Proses latar belakang bermula di terminal dan dijalankan sendiri. Sekiranya anda menjalankan proses di terminal, outputnya akan dipaparkan di tetingkap terminal, dan anda boleh berinteraksi dengannya, tetapi jika anda tidak perlu berinteraksi dengan proses tersebut, anda boleh menjalankannya di latar belakang. Sekiranya anda ingin menjalankan proses di latar belakang, tambahkan tanda “&” di akhir arahan, dan ia akan mula berjalan di latar; ia akan menjimatkan masa, dan anda akan dapat memulakan proses lain. Untuk menyenaraikan proses yang berjalan di latar belakang, gunakan perintah 'pekerjaan.'Ini akan memaparkan semua proses yang berjalan di latar belakang.

Sebagai contoh, peningkatan adalah proses yang lama di Linux. Ia memerlukan terlalu banyak masa, dan jika anda ingin melakukan perkara lain semasa sistem ditingkatkan, gunakan arahan latar belakang.

[dilindungi e-mel]: ~ $ sudo apt-get upgrade -y &

Ia akan mula berjalan di latar belakang. Sementara itu, anda boleh berinteraksi dengan program lain. Anda boleh memeriksa berapa banyak dan proses mana yang berjalan di latar belakang dengan menaip perintah ini.

[dilindungi e-mel]: ~ $ pekerjaan
[1] + Menjalankan sudo apt-get upgrade -y &

Proses latar depan

Semua proses yang kami jalankan di terminal, secara lalai, dijalankan sebagai proses latar depan. Kita boleh menguruskannya dengan arahan latar dan latar belakang.

Anda boleh membawa proses latar belakang yang disenaraikan dalam pekerjaan ke latar depan dengan mengetik perintah 'fg' diikuti dengan nombor proses latar belakang.

[dilindungi e-mel]: ~ $ fg% 1
sudo apt-get upgrade -y

Dan jika anda ingin mengambil proses ini ke latar belakang ketik perintah ini.

[dilindungi e-mel]: ~ $ bg% 1

Menyenaraikan dan menguruskan proses dengan perintah ps

Proses penyenaraian dengan perintah ps adalah salah satu cara tertua untuk melihat proses menjalankan terminal. Ketik perintah ps untuk menyenaraikan proses yang dijalankan dan berapa banyak sumber sistem yang mereka gunakan dan siapa yang menjalankannya.

[dilindungi e-mel]: ~ $ ps u
PENGGUNA PID% CPU% MEM VSZ RSS TTY STAT MULAI PERINTAH MASA
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl + 13:07 0:00 shell
Jim 1564 5.2 0.9 881840 78704 tty2 Sl + 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 mata / 0 Ss 13:08 0:00 bash
Jim 15604 0.0 0.0 11836 3412 mata / 0 R + 17:19 0:00 ps u
... hirup ..

Lajur pengguna menunjukkan nama pengguna dalam jadual di atas, dan PID menunjukkan id proses. Anda boleh menggunakan PID untuk membunuh atau menghantar isyarat membunuh ke proses. % CPU menunjukkan pemproses peratusan CPU, dan% MEM menunjukkan penggunaan memori akses rawak. Untuk membunuh proses, taip.

[dilindungi e-mel]: ~ $ kill [id proses (PID)]

atau

[dilindungi e-mel]: ~ $ kill -9 [id proses (PID)]

Gunakan perintah ps aux untuk melihat semua proses yang sedang berjalan dan tambahkan paip untuk melihatnya mengikut urutan.

[dilindungi e-mel]: ~ $ ps aux | kurang

Sekiranya anda ingin menyusun semula lajur, anda boleh melakukannya dengan menambahkan bendera -e untuk menyenaraikan semua proses dan -o untuk menunjukkan untuk lajur dengan kata kunci dalam perintah ps.

[dilindungi e-mel]: ~ $ ps -eo pid, pengguna, uid,% cpu,% mem, vsz, rss, comm
PID PENGGUNA UID% CPU% MEM VSZ RSS PERINTAH
1 punca 0 0.1 0.1 167848 11684 bersistem
3032 jim 1000 16.5 4.7 21744776 386524 krom
... hirup ..

Pilihan untuk perintah ps.

pilihan u digunakan untuk menyenaraikan proses oleh pengguna.

[dilindungi e-mel]: ~ $ ps u

pilihan f digunakan untuk memaparkan senarai penuh.

[dilindungi e-mel]: ~ $ ps f

pilihan x digunakan untuk memaparkan maklumat mengenai proses tanpa terminal.

[dilindungi e-mel]: ~ $ ps x

pilihan e digunakan untuk memaparkan maklumat yang diperluas.

[dilindungi e-mel]: ~ $ ps e

pilihan digunakan untuk menyenaraikan semua proses dengan terminal.

[dilindungi e-mel]: ~ $ ps a

pilihan v digunakan untuk memaparkan format memori maya.

[dilindungi e-mel]: ~ $ ps v

Bendera untuk arahan ps.

-bendera digunakan untuk melihat setiap proses pada sistem.

[dilindungi e-mel]: ~ $ ps -e

-bendera u digunakan untuk melihat proses berjalan sebagai root.

[dilindungi e-mel]: ~ $ ps -u

-bendera digunakan untuk senarai proses yang lengkap.

[dilindungi e-mel]: ~ $ ps -f

-o bendera digunakan untuk menyenaraikan proses di lajur yang dikehendaki.

[dilindungi e-mel]: ~ $ ps -o
pstree

pstree adalah arahan lain untuk menyenaraikan proses; ia menunjukkan output dalam format pokok.

[dilindungi e-mel]: ~ $ pstree

Pilihan untuk arahan pstree

-n digunakan untuk proses penyortiran oleh PID.

[dilindungi e-mel]: ~ $ pstree -n

-H digunakan untuk menyoroti proses.

[dilindungi e-mel]: ~ $ pstree -H [PID]
[dilindungi e-mel]: ~ $ pstree -H 6457

-a digunakan untuk menunjukkan output, termasuk argumen baris perintah.

[dilindungi e-mel]: ~ $ pstree -a

-g digunakan untuk menunjukkan proses mengikut kumpulan id.

[dilindungi e-mel]: ~ $ pstree -g

-s digunakan untuk menyemai pokok atau proses tertentu.

[dilindungi e-mel]: ~ $ pstree -s [PID]
[dilindungi e-mel]: ~ $ pstree -s 6457

[Nama pengguna] digunakan untuk menunjukkan proses yang dimiliki oleh pengguna.

[dilindungi e-mel]: ~ $ pstree [userName]
[dilindungi e-mel]: ~ $ pstree jim
pgrep

Dengan perintah pgrep, anda dapat mencari proses yang berjalan berdasarkan kriteria tertentu. Anda boleh menggunakan nama penuh atau singkatan proses untuk mencari atau dengan nama pengguna atau atribut lain. Perintah pgrep mengikuti corak berikut.

[dilindungi e-mel]: ~ $ Pgrep [pilihan] [corak]
[dilindungi e-mel]: ~ $ pgrep -u jim chrome
Pilihan untuk arahan pgrep

-i digunakan untuk mencari kes tidak sensitif

[dilindungi e-mel]: ~ $ Pgrep -i firefox

-d digunakan untuk membatasi output

[dilindungi e-mel]: ~ $ Pgrep -u jim -d:

-awak digunakan untuk mencari proses yang dimiliki oleh pengguna

[dilindungi e-mel]: ~ $ Pgrep -u jim

-a digunakan untuk menyenaraikan proses di samping perintahnya

[dilindungi e-mel]: ~ $ Pgrep -u jim -a

-c digunakan untuk menunjukkan kiraan proses pemadanan

[dilindungi e-mel]: ~ $ Pgrep -c -u jim

-l digunakan untuk proses penyenaraian dan namanya

[dilindungi e-mel]: ~ $ Pgrep -u jim -l
pkill

Dengan perintah pkill, anda boleh menghantar isyarat ke proses yang berjalan berdasarkan kriteria tertentu. Anda boleh menggunakan nama penuh atau singkatan proses untuk mencari atau dengan nama pengguna atau atribut lain. Perintah pgrep mengikuti corak berikut.

[dilindungi e-mel]: ~ $ Pkill [Pilihan] [Corak]
[dilindungi e-mel]: ~ $ Pkill -9 chrome
Pilihan untuk arahan pkill

-isyarat digunakan untuk menghantar isyarat e.g. SIGKILL, SIGTERM, dll.

[dilindungi e-mel]: ~ $ Pkill --signal SIGTERM vscode

-HUP digunakan untuk memuatkan semula proses

[dilindungi e-mel]: ~ $ Pkill -HUP syslogd

-f digunakan untuk proses pembunuhan berdasarkan baris perintah penuh.

[dilindungi e-mel]: ~ $ Pkill -f "ping 7.7.7.7 "

-awak digunakan untuk membunuh semua proses yang dimiliki oleh pengguna.

[dilindungi e-mel]: ~ $ Pkill -u jim

-i digunakan untuk pembunuhan proses yang tidak sensitif oleh pkill.

[dilindungi e-mel]: ~ $ Pkill -i firefox

-9 digunakan untuk menghantar isyarat membunuh.

[dilindungi e-mel]: ~ $ Pkill -9 chrome

-15 digunakan untuk menghantar isyarat penamatan.

[dilindungi e-mel]: ~ $ Pkill -15 vlc
lsof (Senarai Fail Terbuka)

Utiliti baris perintah ini digunakan untuk menyenaraikan fail yang dibuka oleh beberapa proses. Dan seperti yang kita ketahui, semua sistem UNIX / Linux mengenali semuanya sebagai fail, jadi lebih senang menggunakan perintah lsof untuk menyenaraikan semua fail yang dibuka.

[dilindungi e-mel]: ~ $ lsof

Dalam jadual perintah lsof di atas, FD mewakili keterangan fail, cwd mewakili direktori kerja saat ini, txt bermaksud fail teks, mem bermaksud fail yang dipetakan memori, mmap bermaksud peranti yang dipetakan dengan memori, REG mewakili fail biasa, DIR mewakili Direktori, rtd bermaksud direktori root. Terdapat pilihan lain yang boleh anda gunakan dengan arahan lsof.

Pilihan untuk arahan lsof.

-c digunakan untuk penyenaraian fail terbuka dengan nama prosesnya.

[dilindungi e-mel]: ~ $ lsof -c chrome

-awak digunakan untuk penyenaraian fail terbuka oleh pengguna.

[dilindungi e-mel]: ~ $ lsof -u jim

-i digunakan untuk penyenaraian proses yang dijalankan di port.

[dilindungi e-mel]: ~ $ lsof -i

+D digunakan untuk penyenaraian fail terbuka di bawah direktori.

[dilindungi e-mel]: ~ $ lsof + D / home /

-hlm digunakan untuk penyenaraian fail terbuka dengan proses.

[dilindungi e-mel]: ~ $ lsof -p 1342

Menyenaraikan dan Menguruskan Proses Dengan Perintah Atas

Dengan arahan teratas, anda dapat memaparkan paparan masa nyata proses sistem yang sedang berjalan. Ia memaparkan proses bergantung pada penggunaan CPU. Anda boleh menyusun lajur mengikut anda. Perintah teratas juga memberikan beberapa maklumat mengenai sistem anda, seperti berapa lama sistem berjalan atau berapa banyak pengguna yang dilampirkan ke sistem dan berapa banyak proses yang dijalankan, berapa banyak CPU dan RAM yang digunakan, dan senarai masing-masing proses.

Ketik bahagian atas arahan untuk menyenaraikan proses yang sedang berjalan.

[dilindungi e-mel]: ~ $ teratas
Tugas: 291 jumlah, 1 berjalan, 290 tidur, 0 berhenti, 0 zombie
% Cpu: 2.3us, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0hi, 0.0si, 0.0hb
MiB Mem: 7880.6 jumlah, 1259.9 percuma, 3176 terpakai, 3444.4 buff / cache
Pertukaran MiB: 2048.0 jumlah, 2048.0 percuma, 0.0 terpakai. 4091.8 memanfaatkan Mem
PENGGUNA PID PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND
3241 jim 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 krom
3327 jim 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 krom
2920 jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 krom
3423 jim 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 krom
3030 jim 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 krom
3937 jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 krom
1603 jim 20 0 825608 67532 40416 S 0.3 0.8 3:13.52 Xorg
1756 jim 20 0 4154828 257056 10060 S 0.3 3.2 5:53.31 gnome-s+
1898 jim 20 0 289096 29284 5668 S 0.3 0.4 1:06.28 fusuma
3027 jim 20 0 587580 14304 75960 S 0.3 1.8 9:43.59 krom
3388 jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 krom
3409 jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 krom
3441 jim 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 krom
… .hentak… .

Anda juga boleh melakukan beberapa tindakan dengan perintah teratas untuk membuat perubahan dalam proses yang sedang berjalan; berikut adalah senarai di bawah.

Perhatikan proses mana yang memakan lebih banyak memori atau CPU. Proses-proses yang memakan lebih banyak memori dapat dibunuh, dan proses-proses yang memakan lebih banyak CPU dapat diperbaharui untuk memberikannya kurang penting bagi pemproses.

Bunuh proses di bahagian atas: Tekan k dan tulis ID Proses yang ingin anda bunuh. Kemudian taip 15 atau 9 untuk membunuh secara normal atau segera; anda juga boleh membunuh proses dengan perintah kill atau killall.

Perbaharui proses di bahagian atas: Tekan r dan tuliskan PID proses yang anda mahu ubah suai. Ia akan meminta anda menaip PID proses dan kemudian nilai nicing yang anda ingin berikan proses ini antara -19 hingga 20 (-19 bermaksud kepentingan tertinggi dan 20 bermaksud kepentingan terendah).

Menyenaraikan & Menguruskan Proses Dengan Monitor Sistem

Linux mempunyai sistem monitor gnome untuk menunjukkan proses yang berjalan dengan lebih dinamik. Untuk memulakan monitor sistem, tekan kekunci windows dan ketik monitor sistem, klik pada ikonnya, dan anda dapat melihat proses dalam lajur. Dengan mengklik kanannya, anda boleh membunuh, menghentikan, atau mengubah prosesnya.

Proses berjalan ditunjukkan dengan akaun pengguna mengikut urutan abjad. Anda boleh menyusun proses dengan tajuk bidang seperti CPU, Memory, dll., klik pada mereka, dan mereka akan disusun; sebagai contoh, klik pada CPU untuk melihat proses mana yang menggunakan daya CPU paling banyak. Untuk menguruskan proses, klik kanan padanya dan pilih pilihan yang ingin anda lakukan dengan proses tersebut. Untuk menguruskan proses, pilih pilihan berikut.

Membunuh proses dengan membunuh dan membunuh

perintah kill, dan killall digunakan untuk Membunuh / mengakhiri proses yang sedang berjalan. Perintah ini juga dapat digunakan untuk mengirim sinyal yang valid ke proses yang sedang berjalan, seperti memberitahu proses untuk melanjutkan, mengakhiri, atau membaca kembali file konfigurasi, dll. Isyarat boleh ditulis dengan kedua-dua cara dengan nombor atau nama. Berikut adalah beberapa isyarat yang biasa digunakan.

Penerangan Nombor Isyarat

SIGHUP 1 Mengesan isyarat tutup pada terminal kawalan.
TANDA 2 Ditafsirkan dari papan kekunci.
SIGQUIT 3 Keluar dari papan kekunci.
TANDA 4 Arahan haram.
SIGTRAP 5 Digunakan untuk mengesan perangkap.
SIGABRT 6 digunakan untuk membatalkan isyarat dari pengguguran (3).
SIGKILL 9 Digunakan untuk menghantar isyarat membunuh.
SIGTERM 15 Digunakan untuk menghantar isyarat penamatan.
SIGCONT 19,18,25 Digunakan untuk meneruskan proses sekiranya dihentikan.
SIGSTOP 17,19,23 Digunakan untuk menghentikan proses.

Nilai SIGCONT dan SIGSTOP yang berbeza digunakan dalam sistem operasi Unix / Linux yang berbeza. Untuk maklumat terperinci mengenai isyarat isyarat terminal terminal man 7.

Menggunakan Command kill Untuk Menghantar Isyarat Untuk Diproses Oleh PID.

Perhatikan proses ke mana anda ingin menghantar isyarat membunuh. Anda boleh mencari id proses (PID) dengan ps atau arahan atas.

PENGGUNA PID PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND
7780 jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 atas

Proses teratas memakan 33.3% CPU. Sekiranya anda ingin mematikan proses ini untuk menjimatkan penggunaan CPU, berikut adalah beberapa cara untuk mengakhiri proses ini dengan perintah kill.

[dilindungi e-mel]: ~ $ membunuh 7780
[dilindungi e-mel]: ~ $ kill -15 7780 atau $ kill -SIGTERM 7780
[dilindungi e-mel]: ~ $ kill -9 7780 atau $ kill -SIGKILL 7780

Menggunakan Perintah killall Untuk Menghantar Isyarat Ke Proses Dengan Nama.

Dengan arahan killall, anda tidak perlu mencari id proses; anda boleh menghantar isyarat membunuh ke proses dengan nama dan bukannya id proses. Ia juga boleh membunuh lebih banyak proses daripada yang anda mahukan jika anda tidak berhati-hati, e.g., "Killall chrome" akan membunuh semua proses krom, termasuk proses yang tidak ingin anda bunuh. Kadang-kadang berguna untuk membunuh proses dengan nama yang sama.

Seperti perintah kill, anda boleh menaip isyarat dengan nama atau nombor dalam perintah killall. Bunuh sebarang proses yang berjalan dengan arahan killall; anda hanya perlu menaip namanya dan isyarat yang ingin anda hantar. e.g., hantar firefox proses signal kill menggunakan arahan killall, tulis perintah di bawah ini.

[dilindungi e-mel]: ~ $ killall -9 firefox

atau

[dilindungi e-mel]: ~ $ killall SIGKILL chrome

Mengubah keutamaan proses dengan baik dan renice

Setiap proses pada sistem Linux anda mempunyai nilai yang sangat baik, dan antara -19 hingga 20. Ini memutuskan proses mana yang akan mendapat lebih banyak akses CPU dalam sistem. Semakin rendah nilai kebaikan, semakin banyak akses ke proses CPU. Seperti -16 nilai bagus mempunyai lebih banyak akses ke CPU daripada 18 nilai bagus. Hanya pengguna yang mempunyai hak root yang dapat memberikan nilai negatif yang bagus. Pengguna biasa hanya dapat menetapkan nilai "bagus" antara 0 hingga 19. Pengguna biasa hanya dapat memberikan nilai bagus yang lebih tinggi dan pada prosesnya sendiri. Pengguna root dapat menetapkan nilai bagus untuk proses apa pun.

Sekiranya anda ingin memberikan proses yang lebih mudah diakses oleh penggunaan CPU dengan memberikan nilai yang bagus, ketik perintah berikut.

[dilindungi e-mel]: ~ chrome +3 bagus

Dan ubah prosesnya

[dilindungi e-mel]: ~ $ renice -n -6 3612

Kesimpulannya

Berikut adalah panduan untuk menguruskan sistem Linux anda dengan ps, top, lsof, pstree, pkilll, kill, killall, nice, renice, dll. Beberapa proses menggunakan sebahagian besar penggunaan CPU dan RAM; mengetahui bagaimana menguruskannya meningkatkan kelajuan dan prestasi sistem anda dan memberi anda persekitaran yang lebih baik untuk menjalankan proses yang anda mahukan dengan lebih berkesan.

Butang klik kiri tetikus tidak berfungsi pada Windows 10
Sekiranya anda menggunakan tetikus khusus dengan komputer riba, atau komputer desktop anda tetapi butang klik kiri tetikus tidak berfungsi pada Window...
Kursor melompat atau bergerak secara rawak semasa menaip di Windows 10
Sekiranya anda mendapati kursor tetikus anda melompat atau bergerak sendiri, secara automatik, secara rawak semasa menaip komputer riba atau komputer ...
Cara membalikkan arah tatal Tetikus dan Pad Sentuh pada Windows 10
Tetikus dan Pad sentuhs bukan sahaja menjadikan pengkomputeran mudah, tetapi lebih cekap dan kurang memakan masa. Kami tidak dapat membayangkan kehidu...