Czy istnieje sposób, aby zadanie w tle poinformowało terminal, aby wydrukował nowy monit?

Chcę napisać program, którymogą być uruchamiany jako zadanie w tle (tj.my-thing &), które w razie potrzeby pięknie dostarczą odpowiednie dane wyjściowe.

Jednak z zadaniami w tle, które drukowane są na terminalu, zawsze pojawia się ten irytujący mały postęp:

bash-3.2$ my-thing &▏

bash-3.2$ my-thing &<br>bash-3.2$ -- Hello from my-thing!<br>-- now let me start doing what I do best ...<br>▏

… Zauważmy, że nie mamy teraz monitu przed kursorem, nie wspominając o tym, że istnieje brzydki, błędny monit, w którym mój program wypluł dane wyjściowe, gdy monit został już wydrukowany.

Dlatego chcę trzech rzeczy, z których tylko jedna nie mam pojęcia, jak to zrobić:

Wykryj, czy mój program jest uruchamiany w tle i odpowiednio zmień moje dane wyjściowe / działanie (tj. Wydrukuj mniej bezużyteczne informacje; kolejkuj kolejne informacje, aby były wyprowadzane tylko wtedy, gdy program zostanie ponownie wstawiony; itd.)Usuń komunikat (jeśli już istnieje), gdy nagle wydrukujesz informacje na terminalu, w którym byliśmy umieszczeniPoinformować terminal po skończeniu tego, co drukuję na terminalu, w jakiś sposób zmusza go do ponownego narysowania nowego monitu poniżej treści, którą dodałem

Trzeci jest jedynym, którego nie mam absolutnie pojęcia; choć mam dwie inklisy na pozostałe dwa, wszelkie linki lub sugestie byłyby tam docenione.

Równie cenne byłyby nawet linki do dowolnych programów (dowolnego języka / środowiska), które już posiadają tryby, które to obsługują; ponieważ mógłbym próbować odwrócić inżynierię / spelunkować ich implementację.

questionAnswers(1)

yourAnswerToTheQuestion