Dlaczego czasami, gdy uruchamiam program w terminalu, nie działa on w terminalu?

Aug 15 2020

Załóżmy, że mam dwie aplikacje o nazwach firefox i arduino. Na początku wpisałem firefoxdo 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

1 VigneshSP Aug 15 2020 at 15:00

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.