Kirim Proses ke Linux Latar Belakang

Send Process Background Linux

Saat bekerja dengan lingkungan desktop grafis, kami jarang khawatir tentang proses latar belakang. Jika kita memiliki proses yang berjalan di latar depan, kita dapat dengan cepat memunculkan jendela terminal lain dan melanjutkan pekerjaan kita.

Namun, jika Anda berada di shell terminal mentah seperti SSH, Anda akan sering merasa khawatir tentang proses yang menempati dan memblokir shell sampai selesai, terutama pada pekerjaan yang berjalan lama. Di situlah konsep proses latar belakang dan latar depan berperan.



Tutorial ini akan membahas apa itu proses latar belakang dan latar depan, termasuk membuat dan mengelolanya di Linux.



Apa itu Proses?

Izinkan saya untuk memulai dari tingkat dasar: apa itu proses?



Di Linux, sebuah proses adalah turunan dari sebuah program. Biasanya, ini berarti setiap perintah atau yang dapat dieksekusi dalam shell adalah sebuah proses.

Pada dasarnya ada dua jenis proses:

  • Proses latar depan
  • Proses latar belakang

Proses latar depan sebagian besar adalah aplikasi tipikal yang kami luncurkan dan berinteraksi dengannya. Contohnya adalah manajer file nautilus di Gnome. Dalam kebanyakan kasus, kita dapat memulai proses latar depan dari shell atau lingkungan desktop.



Di sisi lain, proses latar belakang berjalan di latar belakang dan tidak memerlukan masukan atau interaksi dari pengguna. Contohnya adalah daemon Linux biasa.

Cara Menjalankan Proses di Latar Belakang

Misalkan kita memiliki proses yang, saat berjalan, menempati sesi shell dan menghalangi kita untuk mengeksekusi perintah sampai keluar.

Misalnya, jika kita menjalankan browser Firefox di shell, itu akan menempati sesi hingga proses penghentian.

$firefox


Seperti yang Anda lihat, selama Firefox berjalan, prompt shell tidak tersedia, dan kami tidak dapat menjalankan perintah lagi.

Untuk mengatasinya, kita bisa melakukannya dengan dua cara:

1: Menggunakan Ampersand (&)

Cara pertama menggunakan ampersand & sign. Ini memberitahu shell untuk menjalankan perintah apa pun yang mendahului ampersand di latar belakang.

Sebuah contoh:

firefox&

Dalam skenario seperti itu, proses dijalankan di latar belakang dan muncul sebagai prompt shell baru yang memungkinkan kita untuk terus mengeksekusi perintah.

Ini juga memberikan dua pengidentifikasi numerik. Yang pertama diapit tanda kurung siku adalah ID Pekerjaan, sedangkan yang berikutnya adalah ID proses.

2: Menggunakan CTRL + Z, perintah bg.

Metode selanjutnya yang dapat Anda gunakan untuk meletakkan proses di latar belakang adalah dengan menggunakan pintasan CTRL + Z. Ini menghentikan proses untuk memblokir shell. Anda kemudian dapat menggunakan perintah bg untuk mendorongnya ke latar belakang.

Misalnya, mulailah dengan meluncurkan Firefox sebagai:

$Firefox

Saat proses sedang berjalan, tekan CTRL + Z. Ini mengembalikan prompt shell Anda. Terakhir, masukkan perintah bg untuk mendorong proses di latar belakang.

Cara Menampilkan Proses Latar Belakang

Untuk melihat dan mengelola proses di latar belakang, gunakan perintah pekerjaan di shell. Itu akan menunjukkan pekerjaan latar belakang di sesi terminal saat ini.

Sebagai contoh:

$pekerjaan

Contoh output dari pekerjaan latar belakang:

Untuk membawa proses yang berjalan di latar belakang ke latar depan, gunakan perintah fg diikuti dengan id pekerjaan.

Misalnya, untuk membawa pekerjaan firefox di latar depan, kami menggunakan perintah:

$fg %1

Untuk meletakkan kembali di latar belakang, tekan CTRL + Z diikuti dengan perintah bg.

Cara Membuat Proses Persisten Setelah Shell Mati

Saat Anda menjalankan proses di latar belakang, dan sesi shell Anda mati, semua proses yang terkait dengannya akan berakhir, yang dapat menjadi masalah, terutama jika itu adalah sesi SSH.

Namun, ini bukan masalah yang terlalu besar jika Anda menggunakan terminal multiplexer seperti tmux atau screen karena, dalam hal ini, Anda cukup memasang kembali sesi.

Namun, jika Anda menjalankan sesi shell tanpa multiplexer, Anda dapat menggunakan perintah nohup.

Perintah nohup kebal terhadap hang-up dan dapat mengabaikan sinyal SIGHUP yang dikirim ke suatu proses.

Oleh karena itu, jika Anda menjalankan perintah dengan nohup, perintah itu terus berjalan bahkan jika sesi shell mati secara tidak sengaja.

Misalnya, untuk menjalankan Firefox dengan nohup, gunakan perintah:

tidak adaFirefox&

Ini akan menjalankan proses di latar belakang saat shell berhenti.

Anda dapat menjalankan sesi terminal baru dan melihat pekerjaan latar belakang. Anda akan melihat proses masih berjalan di latar belakang.

Kesimpulan

Dalam tutorial ini, kami membahas berbagai cara untuk menjalankan dan mengirim proses ke latar belakang di Linux. Kami juga membahas cara membawa proses latar belakang ke latar belakang dan tetap menutup setelah shell terminasi.