There are stopped jobs
wiadomość jest daleko, daleko, aby być błędem. To tylko powiadomienie z informacją, że próbujesz wyjść z powłoki, ale masz jedno lub więcej zawieszonych zadań / programów (w twoim przypadku, emacs
które umieściłeś w tle przy &
końcu polecenia). System nie pozwala ci wyjść z powłoki i zabijać zadań, chyba że masz na to ochotę. W odpowiedzi na tę wiadomość możesz zrobić kilka rzeczy:
- użyj
jobs
polecenia, aby powiedzieć ci, które zadania zostały zawieszone
- możesz dodać zadanie (zadania) na pierwszym planie, używając
fg
polecenia
- jeśli nie obchodzi Cię, czy zadanie (zadania) zostaną zakończone, możesz po prostu wpisać
exit
ponownie; exit
powtórne wpisanie komendy lub bez niej jobs
spowoduje zakończenie wszystkich zawieszonych zadań.
Aby odpowiedzieć na drugie pytanie, powiem ci, że nie Ubuntu ani emacs zachowują się w ten sposób. Jest to normalne zachowanie po uruchomieniu aplikacji w tle. W tym przypadku sudo
prosi o hasło, ale pyta w tle, więc nie widać tego faktu. Aby to zobaczyć, powinieneś przywrócić zadanie na pierwszym planie, używając fg
polecenia:
radu@Radu: ~ $ sudo emacs tet.c &
[1] 7732
radu@Radu: ~ $ # now sudo emacs run in background so you can't see nothing about what's happening
radu@Radu: ~ $ fg
[sudo] password for radu:
Następnie możesz wpisać Ctrl+, Zaby ponownie umieścić zadanie w tle, jeśli chcesz. Następnie możesz ponownie uruchomić polecenie „fg”, aby przywrócić zadanie na pierwszym planie i tak dalej.
quit
:) (patrz superuser.com/questions/486496/how-do-i-exit-telnet )Otrzymałeś wiadomość, ponieważ system ostrzega o aktywnych zadaniach związanych z bieżącą powłoką.
Można wymienić te działa / zatrzymany pracę uruchamiając:
jobs
,Następnie możesz wykonać jedną z następujących czynności:
fg
(przeciwniebg
do tła),disown
aby usunąć te zadania z bieżącej powłoki bez ich zabijania,exit
/logout
dwa razy,kill $(jobs -p)
(dodaj-9
dla siły)jeśli je odrzucisz i nadal chcesz zabić wszystkie zatrzymane procesy, spróbuj:
kill $(ps wuax | awk 'NR>1 && $8 ~ "T" {print $2}')
Aby odpowiedzieć na pytanie
sudo
, nie poprosi cię o hasło, ponieważ wymaga posiadania aktywnego terminala, aby otrzymać hasło ze standardowego wejścia , a uruchamiając je w tle, powłoka nie czeka na zakończenie polecenia , więc nie masz możliwości interakcji z poleceniem.W tym przypadku masz 3 możliwości:
&
),odczytać hasło ze standardowego wejścia zamiast urządzenia końcowego
sudo -S
npskonfiguruj sudo, aby nie pytał o hasło przez:
visudo
polecenie i edycjęsudoers
pliku. Zobacz: WłączNOPASSWD
dla użytkownikaźródło
Gdy napotkasz błąd zatrzymanych zadań :
jobs
-> zobaczysz zadania ze statusem zatrzymanymexit
-> możesz wyjść z terminalaźródło