GNU/Linux >> Belajar Linux >  >> Linux

Apa efek CTRL + Z pada aplikasi unix\Linux

"Pekerjaan latar belakang" hanyalah salah satu yang tidak berinteraksi dengan pengguna -- ia tidak mengontrol tty dan hanya melakukan tugasnya (umumnya diam-diam). Pekerjaan latar depan adalah kebalikannya, ia memegang kendali atas tty untuk berinteraksi dengan pengguna.

Control-Z menangguhkan proses latar depan terbaru (proses terakhir untuk berinteraksi dengan tty) (kecuali jika proses tersebut mengambil langkah untuk mengabaikan penangguhan, seperti yang biasanya dilakukan shell). Ini umumnya akan membawa Anda kembali ke shell Anda, dari mana Anda biasanya dapat memasukkan perintah bg untuk memindahkan proses yang baru saja ditangguhkan ke latar belakang (membiarkannya terus berjalan) atau fg untuk membawanya kembali ke latar depan.


Menekan Ctrl+Z mengirimkan TSTP sinyal ke proses Anda. Ini menghentikan eksekusi (kernel tidak akan menjadwalkan waktu CPU lagi untuk proses) dan proses sedang menunggu CONT untuk melanjutkan pemrosesan.

Anda dapat meniru/mereplikasi ini melalui kill -TSTP dan kill -CONT (sejak kill akan mengirimkan sinyal yang ditunjuk ke proses Anda, terlepas dari namanya!)

Shell memiliki fungsi untuk 'melatarkan' proses, tetapi ini adalah hubungan antara shell dan proses. Prosesnya sendiri tidak benar-benar memiliki konsep 'latar belakang' atau 'latar depan'.

Lihat di sini untuk info lebih lanjut.


Pertimbangkan perintah ini, yang membutuhkan kira-kira. 4,5 detik di laptop saya:

echo 2^10000000 | bc -lq | wc -c

Saat Anda menekan Ctrl +Z , perhitungan akan ditangguhkan. Anda memiliki opsi untuk melanjutkan perhitungan di latar depan menggunakan fg , atau lanjutkan di latar belakang menggunakan bg . Yang terakhir kurang lebih sama dengan mengeksekusi:

echo 2^10000000 | bc -lq | wc -c &

Linux
  1. Proses Apa yang Membuat Jendela X11 Ini?

  2. Apa Penyebab Berbagai Sinyal Terkirim?

  3. Apa yang dimaksud dengan "Pemimpin sesi" di `ps`?

  1. Apa yang Dilakukan Ctrl+v Di Vim?

  2. Apa itu proses yang tidak terputus?

  3. Proses apa yang menggunakan semua IO disk saya

  1. Apa yang terjadi ketika sebuah benang bercabang?

  2. Apa definisi sesi di linux?

  3. Port apa yang digunakan oleh aplikasi