Biar Gak Ngehang: Cara Membuat Proses Berjalan di Belakang
Pernah gak sih kamu lagi asyik ngetik perintah di terminal atau Command Prompt, terus tiba-tiba aplikasi atau proses yang kamu jalankan bikin layar kamu “ngehang”? Atau kamu jalankan program yang butuh waktu lama, tapi kamu gak mau menunggu sambil melototin layar? Tenang, ada trik jitu biar proses itu jalan “di belakang layar” alias background. Dengan cara ini, kamu bisa lanjut ngapa-ngapain tanpa diganggu proses yang lagi berjalan.
Kenapa Perlu Proses Background?
Bayangkan kamu lagi download file besar lewat terminal. Kalau dibiarkan di foreground, kamu gak bisa ngapa-ngapain lagi sampai download selesai. Atau kamu menjalankan server web untuk uji coba, tapi kamu juga perlu edit kode di editor. Nah, dengan memindahkan proses ke background, kamu bisa multitasking dengan lebih santai. Prosesnya tetap berjalan, tapi terminalmu bebas dipakai untuk perintah lain.
Cara Klasik di Linux & macOS: Simbol `&`
Cara paling gampang adalah menambahkan simbol `&` di akhir perintah. Contohnya:
“`bash
python skrip_berat.py &
“`
Setelah itu, terminal akan memberikan nomor PID (Process ID) dan langsung mengembalikan prompt ke kamu. Proses python tadi jalan di background. Tapi hati-hati, kalau terminal ditutup, prosesnya ikut mati. Biar aman, kita butuh trik tambahan.
Biar Tetap Hidup Walau Terminal Ditutup: `nohup`
`nohup` (no hang up) bikin proses tetap jalan meskipun kamu logout atau tutup terminal. Cara pakainya:
“`bash
nohup python skrip_berat.py &
“`
Output dari perintah akan otomatis disimpan ke file `nohup.out`. Kalau gak mau file itu penuh, kamu bisa redirect ke `/dev/null`:
“`bash
nohup python skrip_berat.py > /dev/null 2>&1 &
“`
Ini mengirim semua output (stdout dan stderr) ke lubang hitam, jadi terminalmu bersih.
Cara Lebih Modern: `screen` dan `tmux`
Kalau kamu butuh kontrol penuh—misalnya ingin kembali ke proses itu nanti—pakailah `screen` atau `tmux`. Kedua tools ini bikin “sesi” virtual yang bisa kamu tinggalkan dan kembali lagi kapan saja.
Contoh pakai `screen`:
1. Ketik `screen` di terminal (kalau belum terinstall, install dulu via `apt install screen` atau `brew install screen`).
2. Jalankan perintah yang kamu mau, misalnya `htop`.
3. Tekan `Ctrl+A` lalu `D` untuk detach (meninggalkan sesi).
4. Untuk kembali, ketik `screen -r`.
Dengan `screen`, proses tetap hidup meskipun kamu tutup terminal atau bahkan reboot? Tidak, saat reboot mati sih, tapi selama sesi belum di-terminate, aman. `tmux` punya fungsi mirip, bahkan lebih canggih dengan window splitting.
Bagi Pengguna Windows: `start /b`
Di Windows, kamu punya opsi `start /b` yang menjalankan program di background tanpa membuka jendela baru. Contoh di Command Prompt:
“`cmd
start /b python skrip_berat.py
“`
Sayangnya, perintah ini masih terkait dengan sesi CMD. Kalau CMD ditutup, prosesnya ikut mati. Untuk yang lebih tangguh, pakai Task Scheduler atau PowerShell.
Di PowerShell, kamu bisa gunakan `Start-Process` dengan parameter `-WindowStyle Hidden`:
“`powershell
Start-Process python -ArgumentList “skrip_berat.py” -WindowStyle Hidden
“`
Proses akan jalan tanpa jendela, tapi masih tergantung sesi user. Kalau mau benar-benar independent, buat service Windows.
Tips Tambahan: Mengelola Proses Background
– Lihat daftar proses background: Di Linux/Mac, pakai `jobs`. Di Windows, pakai `tasklist`.
– Pindahkan foreground ke background: Saat proses berjalan di foreground, tekan `Ctrl+Z` untuk pause, lalu ketik `bg` untuk melanjutkan di background.
– Kembalikan proses ke foreground: Gunakan `fg %nomor_jobs`.
Kesimpulan
Membuat proses berjalan di belakang itu gampang dan sangat membantu produktivitas. Mulai dari simbol `&` sederhana sampai `screen` yang canggih, semua bisa kamu sesuaikan dengan kebutuhan. Jangan biarkan proses berat menguasai terminalmu—kasih mereka ruang di background, sementara kamu lanjut ngopi sambil ngoding. Selamat mencoba!