Dlaczego czasami, gdy uruchamiam program w terminalu, nie działa on w terminalu?
Załóżmy, że mam dwie aplikacje o nazwach firefox i arduino. Na początku wpisałem firefox
do terminala i nadal mogę normalnie korzystać z terminala. Ale kiedy pisałem arduino
, nie mogłem już używać terminala i musiałem ustawić go jako proces w tle. Więc jaka jest między nimi różnica?
Odpowiedzi
Zależy to od sposobu uruchomienia programu. Istnieją różne tryby, w których można uruchomić aplikację, kilka z nich związanych z tym pytaniem to tryb demona i tryb pierwszego planu.
Myślę, że po uruchomieniu Firefoksa aplikacja jest domyślnie uruchamiana jako demon, w trybie demona aplikacja powoli zaczyna działać w tle, więc żadna interakcja użytkownika (tylko przykład) nie może jej utrudniać.
Więcej o Daemon tutaj .
Innym typem jest Foreground, po uruchomieniu aplikacji Arduino jest ona zaprogramowana tak, aby domyślnie uruchamiała się w trybie Foreground (moje przypuszczenie).
Tryb pierwszoplanowy robi dokładnie to, o czym wspomniałeś, po prostu pozostaje na terminalu, dopóki go nie zabijesz CTRL-C lub inną metodą. Metoda pierwszego planu jest przydatna, gdy chcesz wiedzieć, co faktycznie robi aplikacja.