Przeniesienie zadania do screena

Celem tego artykułu jest przedstawienie prostej metody na przeniesienie działającego w terminalu zadania do screena, co pozwoli nam na zwolnienie terminala i ponowny powrót do zadania.

Koniecznym do wykonania działania będą następujące aplikacje:

  • screen – oczywiście
  • disown (wbudowana w bash i zsh komenda)
  • reptyr lub retty – Reparent a running program to a new terminal
  • pgrep

Przenoszenie zadania na przykładzie.

Mamy na przykłąd w konsoli uruchomiony program top i go właśnie chcemy przenieść do screena.
Usypiamy uruchomiony top wciśnięciem kombinacji klawiszy
ctrl+z
Teraz poleceniem disown top odłączamy proces od rodzica (schell-a)
Uruchamiamy screena: screen
Poleceniem reptyr <pid> wciągamy proces do screena
By było łatwiej możemy proces zidentyfikować poleceniem
reptyr $(pgrep top)
Teraz już topa mamy w screenie.

Podsumowując, cała procedura wygląda następująco:
$ ctrl+z
$ disown top
$ screen
$ reptyr $(pgrep top)

Leave a Reply