Android

Cara menjalankan perintah linux di latar belakang

Cara Merubah Tampilan Termux Menjadi Keren

Cara Merubah Tampilan Termux Menjadi Keren

Daftar Isi:

Anonim

Biasanya ketika Anda menjalankan perintah di terminal, Anda harus menunggu sampai perintah selesai sebelum Anda dapat memasukkan yang lain. Ini disebut menjalankan perintah dalam proses foreground atau foreground. Ketika sebuah proses berjalan di latar depan, ia menempati shell Anda, dan Anda dapat berinteraksi dengannya menggunakan perangkat input.

Bagaimana jika perintah itu membutuhkan waktu lama untuk diselesaikan, dan Anda ingin menjalankan perintah lain sementara itu? Anda memiliki beberapa opsi yang Anda inginkan. Opsi yang paling jelas dan langsung adalah memulai sesi shell baru dan menjalankan perintah di dalamnya. Opsi lain adalah menjalankan perintah di latar belakang.

Proses latar belakang adalah proses / perintah yang dimulai dari terminal dan berjalan di latar belakang, tanpa interaksi dari pengguna., kita akan berbicara tentang proses latar belakang Linux. Kami akan menunjukkan kepada Anda bagaimana memulai perintah di latar belakang dan cara menjaga proses berjalan setelah sesi shell ditutup.

Jalankan Perintah Linux di Latar Belakang

Untuk menjalankan perintah di latar belakang, tambahkan simbol ampersand ( & ) di akhir perintah:

command &

ID pekerjaan shell (dikelilingi dengan tanda kurung) dan ID proses akan dicetak pada terminal:

25177

Anda dapat menjalankan banyak proses di latar belakang secara bersamaan.

Proses latar belakang akan terus menulis pesan ke terminal tempat Anda menjalankan perintah. Untuk menekan pesan stdout dan stderr gunakan sintaks berikut:

command > /dev/null 2>&1 &

>/dev/null 2>&1 berarti mengarahkan ulang stdout ke /dev/null dan stderr ke stdout .

Gunakan utilitas jobs untuk menampilkan status semua pekerjaan yang dihentikan dan latar belakang dalam sesi shell saat ini:

jobs -l

Output termasuk nomor pekerjaan, ID proses, status pekerjaan, dan perintah yang memulai pekerjaan:

+ 25177 Running ping google.com &

Untuk membawa proses latar belakang ke latar depan, gunakan perintah fg :

fg

fg %1

Untuk menghentikan proses latar belakang, gunakan perintah kill diikuti oleh ID proses:

kill -9 25177

Pindahkan Proses Foreground ke Latar Belakang

Untuk memindahkan proses latar depan yang berjalan di latar belakang:

  1. Hentikan proses dengan mengetikkan Ctrl+Z Pindahkan proses yang terhenti ke latar belakang dengan mengetikkan bg .

Biarkan Proses Latar Belakang Berjalan Setelah Shell Keluar

Jika koneksi Anda turun atau Anda keluar dari sesi shell, proses latar belakang dihentikan. Ada beberapa cara untuk menjaga proses tetap berjalan setelah sesi shell interaktif berakhir.

Salah satu caranya adalah dengan menghapus pekerjaan dari kontrol pekerjaan shell menggunakan shell disown builtin:

disown

disown %1

Konfirmasikan bahwa pekerjaan dihapus dari tabel pekerjaan aktif menggunakan perintah jobs -l . Untuk membuat daftar semua proses yang berjalan, termasuk yang ditolak gunakan perintah ps aux .

Cara lain untuk menjaga proses tetap berjalan setelah shell keluar adalah dengan menggunakan nohup .

Perintah nohup menjalankan program lain yang ditentukan sebagai argumennya dan mengabaikan semua sinyal SIGHUP (hangup). SIGHUP adalah sinyal yang dikirim ke suatu proses ketika terminal pengendali ditutup.

Untuk menjalankan perintah di latar belakang menggunakan perintah nohup , ketik:

nohup command &

Output perintah dialihkan ke file nohup.out .

nohup: ignoring input and appending output to 'nohup.out'

Alternatif

Ada sejumlah program yang memungkinkan Anda melakukan beberapa sesi interaktif secara bersamaan.

Layar

Layar atau Layar GNU adalah program terminal multiplexer yang memungkinkan Anda untuk memulai sesi layar dan membuka sejumlah jendela (terminal virtual) di dalam sesi itu. Proses yang berjalan di Layar akan terus berjalan ketika jendelanya tidak terlihat meskipun Anda terputus.

Tmux

Tmux adalah alternatif modern untuk layar GNU. Dengan Tmux, Anda juga dapat membuat sesi dan membuka banyak jendela di dalam sesi itu. Sesi Tmux tetap, yang berarti bahwa program yang berjalan di Tmux terus berjalan bahkan jika Anda menutup terminal.

Kesimpulan

Untuk menjalankan perintah di latar belakang, sertakan & di akhir perintah.

Ketika Anda menjalankan perintah di latar belakang, Anda tidak perlu menunggu sampai selesai sebelum Anda dapat menjalankan yang lain.

nohup fg bg pekerjaan disown terminal