---
title: "Cara Memakai screen dan tmux agar Proses Tidak Putus"
description: "Cara menjalankan proses panjang di server lewat screen atau tmux agar tidak berhenti saat SSH putus, plus tombol pintas yang paling sering dipakai."
url: "https://nivelva.com/insight/cara-memakai-screen-tmux-proses-tidak-putus"
category: "Server \u0026 Infrastruktur"
tags: ["tmux","screen","ssh","terminal","linux"]
author: "Theresia Candiawan"
published: "2026-11-07T03:34:00+07:00"
updated: "2026-11-07T03:34:00+07:00"
language: "id"
publisher: "Nivelva (https://nivelva.com)"
---

# Cara Memakai screen dan tmux agar Proses Tidak Putus

> **Jawaban singkat:** Jalankan proses panjang di dalam sesi tmux (tmux new -s nama) atau screen (screen -S nama). Lepas sesi dengan Ctrl+b d atau Ctrl+a d, lalu sambung lagi kapan saja dengan tmux attach atau screen -r. Proses tetap berjalan walau SSH putus.

Kamu sedang mengimpor database berukuran besar lewat SSH. Progresnya sudah lewat setengah, lalu Wi-Fi kantor tersendat beberapa detik. Terminal membeku, koneksi putus, dan saat login lagi proses impornya sudah hilang. Kamu harus mengulang dari awal.

Hal ini terjadi karena proses yang dijalankan langsung di sesi SSH terikat pada sesi itu. Saat koneksi putus, shell menerima sinyal hangup dan biasanya ikut menghentikan proses di bawahnya. Solusinya adalah menjalankan proses di dalam **terminal multiplexer** seperti tmux atau screen. Keduanya membuat sesi terminal yang hidup di server, terpisah dari koneksi SSH-mu. Koneksi boleh putus, sesi dan prosesnya tetap jalan, dan kamu tinggal menyambung lagi.

## Memasang tmux dan screen

Di Ubuntu dan Debian, keduanya tersedia di repositori utama:

```bash
sudo apt install tmux screen
```

Di AlmaLinux 9, tmux ada di repositori bawaan. Paket screen sudah tidak disertakan di repositori dasar sejak generasi RHEL 8, jadi perlu EPEL:

```bash
sudo dnf install tmux
sudo dnf install epel-release && sudo dnf install screen
```

Kalau baru mulai dan tidak terikat kebiasaan lama, tmux adalah pilihan yang lebih mudah ditemukan di distro modern. Screen tetap berguna karena sudah lama ada dan masih terpasang di banyak server lama.

## Alur kerja dengan tmux

Buat sesi baru dan beri nama yang jelas:

```bash
tmux new -s impor-db
```

Kamu akan masuk ke terminal baru dengan bilah status hijau di bawah. Jalankan perintah panjangmu di sini, misalnya `mysql nama_db < dump.sql`.

Untuk keluar tanpa menghentikan proses, tekan `Ctrl+b`, lepaskan, lalu tekan `d` (detach). Kamu kembali ke shell biasa, sementara sesi tetap berjalan di server. Kalau koneksi SSH putus tanpa sengaja, efeknya sama seperti detach.

Setelah login lagi, lihat daftar sesi dan sambungkan kembali:

```bash
tmux ls
tmux attach -t impor-db
```

Di dalam satu sesi, tmux bisa punya beberapa jendela dan panel. `Ctrl+b c` membuat jendela baru, `Ctrl+b n` dan `Ctrl+b p` berpindah ke jendela berikut atau sebelumnya. `Ctrl+b %` membelah layar kiri-kanan, `Ctrl+b "` membelah atas-bawah, dan `Ctrl+b` diikuti tombol panah berpindah antarpanel. Ini praktis untuk memantau log di satu panel sambil menjalankan perintah di panel lain.

Untuk menggulir ke atas melihat keluaran lama, tekan `Ctrl+b [`, gunakan tombol panah atau Page Up, lalu tekan `q` untuk keluar dari mode gulir. Saat pekerjaan selesai, ketik `exit` di setiap jendela, atau matikan sesi dari luar dengan `tmux kill-session -t impor-db`.

## Alur kerja dengan screen

Konsep screen sama persis, hanya tombol awalannya berbeda. Screen memakai `Ctrl+a`, bukan `Ctrl+b`.

```bash
screen -S impor-db      # buat sesi bernama
# jalankan perintah, lalu tekan Ctrl+a kemudian d untuk detach
screen -ls              # lihat daftar sesi
screen -r impor-db      # sambung lagi
```

Bila screen menolak menyambung karena sesi masih dianggap terhubung (sering terjadi setelah koneksi putus mendadak), gunakan `screen -d -r impor-db` untuk melepas sambungan lama lalu menyambung dari terminalmu. Opsi `screen -x` menyambung ke sesi yang sama dari dua terminal sekaligus, berguna saat dua admin ingin melihat layar yang sama.

Di dalam screen, `Ctrl+a c` membuat jendela baru, `Ctrl+a n` berpindah ke jendela berikutnya, dan `Ctrl+a [` masuk ke mode gulir. Ketik `exit` untuk menutup jendela, dan sesi berakhir saat jendela terakhir ditutup.

## Tombol pintas tmux dan screen yang paling sering dipakai

| Tindakan | tmux | screen |
|:--|:--|:--|
| Buat sesi bernama | `tmux new -s nama` | `screen -S nama` |
| Lepas sesi (detach) | `Ctrl+b` lalu `d` | `Ctrl+a` lalu `d` |
| Daftar sesi | `tmux ls` | `screen -ls` |
| Sambung lagi | `tmux attach -t nama` | `screen -r nama` |
| Jendela baru | `Ctrl+b` lalu `c` | `Ctrl+a` lalu `c` |
| Jendela berikutnya | `Ctrl+b` lalu `n` | `Ctrl+a` lalu `n` |
| Mode gulir | `Ctrl+b` lalu `[` | `Ctrl+a` lalu `[` |
| Matikan sesi dari luar | `tmux kill-session -t nama` | `screen -S nama -X quit` |

## Kapan tmux atau screen bukan jawabannya?

Multiplexer cocok untuk pekerjaan sekali jalan yang kamu awasi: impor database, migrasi file dengan rsync, kompilasi, upgrade sistem, atau skrip perbaikan. Untuk aplikasi yang harus selalu hidup, seperti bot, API, atau worker antrean, sesi tmux bukan tempat yang tepat. Sesi itu hilang saat server reboot dan tidak ada yang menyalakan ulang aplikasi bila ia crash.

Aplikasi seperti itu sebaiknya dijalankan sebagai layanan systemd dengan `Restart=on-failure`, lalu lognya dibaca lewat [journalctl](https://nivelva.com/insight/cara-membaca-log-aplikasi-journalctl). Untuk tugas yang berulang di jam tertentu, pakai [cron job](https://nivelva.com/insight/cron-job-linux).

Ada juga `nohup perintah &` sebagai cara cepat agar proses tidak menerima sinyal hangup. Kekurangannya, kamu tidak bisa kembali ke tampilan interaktifnya, hanya membaca keluaran di file `nohup.out`. Untuk proses yang mungkin meminta input atau perlu dipantau, tmux dan screen tetap lebih nyaman.

## Kebiasaan kecil yang menyelamatkan

Biasakan membuka tmux atau screen sebelum menjalankan perintah apa pun yang butuh lebih dari beberapa menit, terutama upgrade paket (`apt full-upgrade` atau `dnf upgrade`) yang bisa merusak sistem bila terhenti di tengah jalan. Beri nama sesi sesuai pekerjaannya agar tidak bingung saat ada beberapa sesi sekaligus. Dan sebelum menutup pekerjaan, jalankan `tmux ls` atau `screen -ls` untuk memastikan tidak ada sesi lama yang tertinggal dan memakan memori.

Bila server dipakai bersama beberapa admin, sepakati nama sesi yang menyebut pemiliknya, misalnya `budi-migrasi`, supaya tidak ada yang mematikan sesi orang lain karena mengira sesi itu sudah tidak terpakai.

Satu hal lagi: sesi tmux dan screen hidup di memori server. Kalau server direstart, semua sesi ikut hilang beserta proses di dalamnya. Jadi sebelum menjadwalkan reboot, cek dulu apakah masih ada pekerjaan yang berjalan di sesi yang terlepas. Perintah `tmux ls` atau `screen -ls` cukup untuk mengetahuinya dalam hitungan detik.

Singkatnya: jalankan proses panjang di dalam tmux atau screen, lepas dengan detach, sambung lagi dengan attach. Pilih tmux untuk server baru, tetap pakai screen bila sudah terbiasa, dan serahkan aplikasi yang harus hidup terus kepada systemd.

## Sumber

- <https://github.com/tmux/tmux/wiki>
- <https://www.gnu.org/software/screen/manual/screen.html>

---

Diterbitkan oleh Nivelva Insight (https://nivelva.com/insight/). Artikel ini: https://nivelva.com/insight/cara-memakai-screen-tmux-proses-tidak-putus
Kontak Nivelva: WhatsApp https://wa.me/6285111245007, email hello@nivelva.com
