Jak wysłać proces do tła i pierwszego planu?

17

Jeśli tak ping google.com &, proces przechodzi w tło i pokazuje mi szczegóły pingowania. Nadal mogę używać terminala z innymi poleceniami, ale dane wyjściowe z polecenia ping i dane wyjściowe z innych poleceń są pomieszane (co nie stanowi problemu), ale w ogóle nie mogę zakończyć tego procesu.

W tym celu chcę przenieść go na pierwszy plan, a następnie nacisnąć ctrl + c lub coś takiego. Próbowałem użyć fg, ale to też nie działało. Jak więc ping google.com &wrócić na pierwszy plan po wciśnięciu klawisza Return na końcu polecenia ping?

posixKing
źródło
2
Wygląda na to, że problemem, który naprawdę chcesz rozwiązać, jest zabicie pracy w tle; nie ma potrzeby wprowadzania go na pierwszy plan. Użyj, jobsaby znaleźć identyfikator jidzadania procesu w tle, a następnie po prostu zrób to, kill %jidaby go zabić.
ogrodnik

Odpowiedzi:

30

fgto poprawne polecenie na pierwszym planie zadania, ale jeśli działa więcej niż jedno zadanie, należy podać numer zadania. Jeśli wpiszesz tylko fg, ostatnie zadanie w tle (uważane przez powłokę za bieżące) zostanie przeniesione na pierwszy plan.

Uzyskaj aktualne oferty pracy:

$ jobs
[1]+     ping google.com &

Wykreśl zadanie, określając liczbę:

fg %1

Polecenie może zostać podzielone przez dane wyjściowe z uruchomionego procesu, ale nadal będzie działać, możesz zignorować przerwanie.

Następnie naciśnij ctrl+, caby przerwać i zatrzymać proces

Jak wspomniano w komentarzu, możesz również wysyłać sygnały na przykład według numeru zadania kill %1

Dla kompletności, jeśli nie używałeś &w momencie wywołania procesu, możesz wysłać go do tła, najpierw zamrażając za pomocą ctrl+, za następnie wpisującbg

Zanna
źródło
1
fgWydaje się, że po prostu bez argumentu działa, przynajmniej gdy ma się tylko jedno zadanie w tle.
Cedric Reichenbach,
1
@CedricReichenbach edytowane!
Zanna,
-2

Aby odpowiedzieć na zadane pytanie, a mianowicie jak wysłać wynik procesu do tła i pierwszego planu? , teepolecenie wykona:

W informatyce tee jest poleceniem w interpretatorach wiersza poleceń (powłokach) wykorzystujących standardowe strumienie, które odczytują standardowe dane wejściowe i zapisują je zarówno na standardowym wyjściu, jak i na jednym lub większej liczbie plików, skutecznie powielając dane wejściowe. https://en.wikipedia.org/wiki/Tee_(command)

erqe4tjwtjwertjwrtj
źródło
5
Coś tu nie rozumiesz ...
Byte Commander