Hampir setiap proses di Linux memiliki terminal pengendali. Tapi apa itu terminal pengendali? Ayo cari tahu.
Anda mungkin pernah mendengar istilah “controlling terminal” yang digunakan dalam kaitannya dengan proses Linux. Anda mungkin bingung tentang apa itu terminal pengontrol. Untungnya, terminal pengendali mudah dimengerti.
Apa itu Terminal Pengontrol?
Terminal pengontrol adalah terminal tempat proses Linux dimulai. Misalnya, jika Anda menjalankan perintah dari shell, jendela terminal tempat Anda memasukkan perintah adalah terminal pengendali.
Proses diluncurkan dengan mengendalikan terminal mewarisi atribut dari terminal induk. Ini karena cara proses diluncurkan di Linux. Saat Anda menjalankan perintah, shell membuat salinan dirinya sendiri, atau "forks", lalu mengganti dirinya sendiri dengan program yang ingin Anda jalankan, atau "execs".
Cara Melihat Proses Yang Memiliki Terminal Pengontrol
Sangat mudah untuk melihat proses yang memiliki terminal pengendali di Linux. Anda dapat gunakan perintah ps untuk melihat mereka.
Anda dapat melihat semua proses milik semua pengguna di sistem, apakah mereka memiliki terminal pengontrol atau tidak, dengan menggunakan “aux” argumen:
ps aux
Karena ini menghasilkan banyak output pada sistem Linux, akan sangat membantu jika menyalurkannya ke pager, seperti less:
ps aux | lebih sedikit
Anda juga dapat melihat beberapa baris pertama menggunakan utilitas head:
ps aux | kepala
Di keluaran, Anda akan melihat kolom berlabel "TTY". Ini menunjukkan terminal pengontrol proses, jika ada. Sebuah proses dengan terminal pengendali akan menampilkan "ttyx" dimana "x" adalah nomor terminal atau "pts", diikuti dengan garis miring (/) dan nomor baris pseudoterminal.
Karena sebagian besar terminal sebenarnya adalah emulator terminal, mereka menggunakan pseudoterminal atau PTY. The "pts" menunjukkan emulator terminal daripada terminal fisik atau konsol maya.
Proses Tanpa Mengontrol Terminal
Pada sebagian besar sistem Linux, kolom TTY akan menampilkan a tanda tanya (?) karakter dalam banyak proses. Ini karena proses tidak memiliki terminal pengontrol. Mengapa ini terjadi?
Sistem Linux menjalankan banyak daemon, atau layanan, di latar belakang. Ini bisa berupa server, seperti server web, serta daemon yang melakukan banyak hal dasar seperti menjalankan koneksi jaringan Anda. Ini tidak perlu menggunakan terminal, jadi mereka hanya berjalan tanpa itu.
Jika Anda meluncurkan aplikasi grafis dari menu lingkungan desktop, itu juga tidak memiliki terminal pengontrol.
Multiplexer terminal seperti Layar GNU atau tmux memungkinkan Anda melepaskan proses. Jika Anda keluar tetapi sistem Anda tetap berjalan, Anda mungkin menemukan bahwa proses itu juga tidak memiliki terminal pengontrol.
Jika Anda memiliki proses tanpa terminal pengontrol yang ingin Anda singkirkan, Anda dapat menggunakan utilitas kill.
Sekarang Anda Tahu Tentang Mengontrol Terminal
Terminal pengontrol adalah terminal tempat Anda meluncurkan perintah. Sangat mudah untuk melihat proses mana yang memiliki dan tidak memiliki terminal pengendali dengan perintah ps. Dan banyak program Linux tidak melakukannya, baik karena mereka adalah daemon atau Anda mungkin telah melepaskannya dengan terminal multiplexer.
Multiplexer seperti tmux tidak hanya membuat sesi terminal lokal bertahan di seluruh login, tetapi juga alat yang ampuh untuk koneksi SSH jarak jauh.