Tambahkan &
ke baris perintah:
emacs &
Ini akan menempatkan emacs di latar belakang dan memungkinkan Anda untuk terus menggunakan terminal Anda.
Perhatikan bahwa ini masih akan meninggalkan emacs sebagai sub-proses dari terminal Anda, dan ketika Anda keluar dari terminal, emacs juga akan keluar. Untuk menghindarinya, ketik:
(emacs &)
Tanda kurung memberi tahu terminal untuk melepaskan proses emacs dari terminal.
Tetap saja, pesan stdout dan stderr dari program akan muncul di terminal. Untuk mencegahnya, gunakan:
(emacs &> /dev/null &)
Gunakan nohup
.Seperti ini:nohup amarok &
Semoga ini bisa membantu.
Saya memposting jawaban untuk utas lama tentang topik serupa dengan jawaban dari berbagai sumber. Berikut adalah salinan jawaban yang diadaptasi untuk utas ini.
Karya-karya berikut:
$ (gui_app &> /dev/null &)
Ini adalah jawaban Nathan Fellman plus pengalihan.
"&> /dev/null" mengalihkan stdout dan stderr ke perangkat nol. Ampersand terakhir membuat proses berjalan di latar belakang. Tanda kurung di sekitar perintah akan menyebabkan "gui_app" Anda berjalan dalam subkulit.
Melakukan ini akan melepaskan proses "gui_app" dari konsol tempat Anda menjalankan perintah ini. Jadi, bahkan jika Anda menutup jendela emulator terminal induk yang sedang berjalan, "gui_app" tidak akan menutup. Saya menjalankan ini kemudian melihat pohon proses dengan perintah "pstree" dan menemukan aplikasi yang dimulai dengan cara ini akan menjadi proses anak untuk "init".
Misalnya,
$ gui_app &> /dev/null &
akan menjalankan aplikasi di latar belakang, tetapi ini akan menjadi proses anak dari proses konsol dan akan berakhir saat Anda menutup terminal. (Meskipun keluar dari terminal melalui bash dengan menggunakan perintah exit atau Ctrl-D akan membiarkan bash membersihkan dengan menyerahkan proses latar belakang ke init.)
"nohup" berfungsi seperti yang disarankan NawaMan, tetapi itu mengalihkan keluaran &kesalahan ke file secara default. Seperti yang telah dijawab JeffG, perintah "disown" (jika tersedia di shell) dapat melepaskan proses dari terminal setelah Anda memulai proses latar belakang:
$ gui_app &
$ disown
(BTW semua ini berlaku untuk bash. Saya yakin shell lain memiliki metode/sintaks lain untuk melakukan ini.)
Beberapa referensi:Menyingkirkan Proses (UNIX Power Tools)
Jika ini panggilan sederhana ke aplikasi GUI - tanpa opsi rumit dan semacamnya - sepertinya menggunakan peluncur seperti "gmrun" atau dmenu (peringatan:audio keras) juga merupakan opsi yang bagus. Ikat ke kombinasi tombol. Saya belum menggunakan peluncur tetapi telah mencoba keduanya.
CATATAN:CarlF di komentar utas lainnya melaporkan aplikasi GUI dimulai melalui metode "gui_app &" tidak menutup ketika dia keluar dari terminal induk. Saya pikir kami menutup terminal dengan cara yang berbeda. Saya sedang menutup jendela tempat emulator terminal berjalan. Saya pikir dia mungkin telah keluar dari emulator terminal melalui shell (perintah keluar atau Ctrl-D). Saya menguji ini dan melihat bahwa keluar melalui bash tidak menghentikan GUI dimulai sebagai proses latar belakang terminal seperti yang dikatakan CarlF. Tampaknya bash menyerahkan proses latar belakang ke init ketika diberi kesempatan untuk membersihkan. Faktanya, ini harus menjadi mekanisme di mana proses latar belakang yang dimulai dalam subkulit diserahkan ke init.