Saya menghadapi situasi seperti ini berkali-kali.
Misalnya, setiap kali saya mencoba membuka beberapa file emacs
dengan sudo
hak menggunakan:
sudo emacs tet.c &
Alih-alih meminta saya untuk kata sandi, Ubuntu hanya memulai emacs
proses tanpa emacs
jendela atau keluaran apa pun di terminal (kecuali untuk pid) melihat gambar (jika saya tidak menggunakan '&' maka itu akan meminta saya untuk kata sandi):
Saya punya dua pertanyaan yang terkait dengan ini:
Apa yang harus saya lakukan ketika saya mendapatkan kesalahan bahwa 'Ada pekerjaan yang terhenti'? Bagaimana cara saya mengidentifikasi semua pekerjaan yang berhenti dan membunuh mereka? Setelah saya membersihkan terminal, saya tidak akan mendapatkan pid dari proses yang terhenti ini.
Mengapa Ubuntu / emacs berperilaku seperti ini? Mengapa tidak meminta saya untuk memasukkan kata sandi?
sumber
quit
:) (lihat superuser.com/questions/486496/how-do-i-exit-telnet )Anda mendapat pesan, karena sistem memperingatkan Anda tentang pekerjaan aktif yang terkait dengan shell Anda saat ini.
Anda bisa daftar ini berjalan / berhenti pekerjaan dengan menjalankan:
jobs
,Maka Anda dapat melakukan salah satu dari yang berikut:
fg
(kebalikan daribg
untuk latar belakang),disown
untuk menghapus pekerjaan ini dari shell Anda saat ini tanpa membunuh mereka,exit
/logout
dua kali,kill $(jobs -p)
(menambah-9
kekuatan)jika Anda menolaknya, dan Anda ingin tetap membunuh semua proses yang terhenti, coba:
kill $(ps wuax | awk 'NR>1 && $8 ~ "T" {print $2}')
Untuk menjawab pertanyaan
sudo
, ia tidak akan menanyakan kata sandi, karena mengharuskan terminal aktif untuk menerima kata sandi dari input standar , dan dengan menjalankannya sebagai latar belakang, shell tidak menunggu perintah selesai , jadi Anda tidak memiliki kemungkinan untuk berinteraksi dengan perintah.Dalam hal ini, Anda memiliki 3 kemungkinan:
&
),baca kata sandi dari input standar dan bukan perangkat terminal dengan
sudo -S
miskonfigurasikan sudo untuk tidak meminta kata sandi dengan:
visudo
perintah dan mengeditsudoers
file. Lihat: AktifkanNOPASSWD
untuk penggunasumber
Ketika Anda menemukan ada kesalahan pekerjaan yang berhenti :
jobs
-> Anda akan melihat pekerjaan dengan status berhentiexit
-> Anda bisa keluar dari terminalsumber