Belajar dengan membaca secara berurutan

Mengecek dan Menghentikan Proses — ps / kill

Pelajari cara menampilkan daftar proses yang berjalan dengan ps, mengecek PID-mu sendiri dengan $$, dan menghentikan proses yang kamu kirim ke background dengan & memakai kill — praktik langsung di terminal browser.

Melihat Proses yang Berjalan — ps

Sebuah proses adalah setiap program yang sedang berjalan.

ps adalah perintah yang menampilkan daftar proses yang berjalan saat ini.

Setiap proses diberi sebuah angka unik bernama PID (process ID), yang menjadi penanda saat kamu menghentikannya nanti.

Saat daftarnya panjang, salurkan ke grep, seperti ps | grep sleep, untuk mempersempit proses berdasarkan nama.

Apa itu proses — instance program yang berjalan
programshprogramsleepprogramviprosesshprosessleepprosesviPID 101PID 142PID 188
Menjalankan sebuah program menjadikannya 'proses', dan masing-masing diberi PID unik. ps menampilkan daftar proses yang berjalan ini.
PerintahArti
psDaftar proses yang berjalan beserta PID
ps | grep namePersempit proses berdasarkan nama
echo $$Tampilkan PID shell saat ini
cmd &Jalankan perintah di background

Kamu bisa mengambil PID shell itu sendiri dengan variabel khusus $$.

$$ adalah variabel khusus yang diisi shell dengan PID-nya sendiri.

Menjalankan echo $$ menampilkan angka shell tempat kamu mengetik, dan kamu akan menemukan angka yang sama di daftar ps.

Membaca proses saat ini dengan ps dan $$
psdaftar proses berjalanbeserta PIDecho $$tampilkan PID shell saat ini
ps menampilkan daftar PID proses yang berjalan; echo $$ menampilkan PID shell saat ini.
ps          # daftar proses yang berjalan (dengan PID)
echo $$     # PID shell ini sendiri
ps -ef      # daftar yang lebih rinci (format bervariasi per lingkungan)

① Jalankan ps untuk menampilkan daftar proses yang sedang berjalan.

② Jalankan echo $$ untuk menampilkan PID (angka) dari shell tempat kamu mengetik.

③ Jalankan ps lagi dan pastikan secara visual angka dari langkah ② muncul di daftar. (Jalankan dengan benar dan penjelasan akan muncul.)

Linux console
0 / 2 selesai
Loading Linux Terminal...

Eksekusi Background dan Menghentikan — & dan kill

Menambahkan & di akhir sebuah perintah menjalankannya di background, sehingga kamu bisa lanjut ke operasi berikutnya tanpa menunggunya selesai.

sleep 30 & menjalankan sebuah proses yang hanya menunggu, tidak melakukan apa-apa selama 30 detik, di background, yang menjadikannya bagus untuk berlatih cara menghentikan sebuah proses.

Untuk menghentikan proses background, berikan PID-nya ke kill.

Shell menampilkan PID tepat setelah kamu memulainya dengan &, dan kamu juga bisa mengeceknya di daftar ps.

Memberikan PID ke kill mengirim sinyal terminasi ke proses itu.

Untuk proses yang tidak berhenti dengan kill PID biasa, kirim sinyal force-quit dengan kill -9 PID.

PerintahSinyal yang dikirimKegunaan
kill PIDSIGTERM (permintaan berhenti)Penghentian normal; proses sempat membereskan diri
kill -9 PIDSIGKILL (force quit)Memaksa menghentikan proses yang tidak mau berhenti
Dari eksekusi background ke penghentian
sleep 30 &jalan di background;PID ditampilkanpscari PID sleep di daftarkill PIDhentikan proses dengan PID itu
Kirim ke background dengan &, cari PID dengan ps, dan hentikan proses itu dengan kill.

Berikan PID yang benar ke kill

kill mengirim sinyal terminasi ke proses dengan PID yang kamu berikan.

Memberikan angka yang salah akan menghentikan proses lain, jadi cek PID target di daftar ps sebelum menjalankannya.

Tentang kill di lingkungan ini

Di lingkungan browser ini, memberikan PID ke kill mungkin tidak menghentikan proses seperti pada sistem nyata, dan kamu mungkin melihat No such process.

Di kursus ini kamu mempelajari bentuk perintah kill PID / kill -9 PID.

Di server nyata, alur mengecek PID dengan ps dan menghentikannya dengan kill bekerja persis seperti yang ditunjukkan.

sleep 60 &     # jalankan proses yang menunggu 60 detik di background
ps             # cari PID sleep di daftar
kill 123       # berikan PID yang kamu temukan (mis. 123) untuk menghentikannya

① Jalankan sleep 30 & untuk memulai sebuah proses yang hanya menunggu 30 detik di background.

② Jalankan ps | grep sleep untuk mempersempit daftar ke baris sleep saja dan cari PID (angka)-nya.

③ Berikan angka yang kamu temukan di langkah ② ke kill untuk menghentikan proses sleep itu.

Linux console
0 / 3 selesai
Loading Linux Terminal...
QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Apa yang ditampilkan ps saat kamu menjalankannya?

Soal 2Apa yang ditampilkan echo $$?

Soal 3Apa yang terjadi saat kamu menambahkan & di akhir sebuah perintah?