Принудительно выводить задание на передний план при запросе ввода пользователем

Я думаю, что нет такой команды. Можно перечислить пакеты из определенного репозитория:

zypper search --installed-only --repo devel:tools

или все осиротевшие пакеты, если Вы уже снесли тот репозиторий:

zypper packages --orphaned

Затем Вы могли попытаться cut пакет называет от вывода и передачи его к zypper remove если это стоит усилия.

2
12.05.2015, 14:18
1 ответ

- это управление работой внутри сценария только для подколонов / детей-процессов, или я могу использовать его для управления работой, которую я начал?

Да. Это родительская оболочка, которая выполняет управление работой, вы не можете поместить детский процесс на передний план изнутри себя.

Редактировать: Вы можете все еще можно сделать так:

  • Детский скрипт:

     #!  / bin / sh
     ...
    ловушка "kill -ss usr1 $ ppid" ttou
     ...
    Echo -n очистка?
    читать yn 
  • Родительский скрипт:

     #!  / bin / sh
     ...
    Ловушка "FG% 1" USR1
     ...
    ребенок &
     ...
    ждать
     ...
     

Это устанавливает обработчик сигналов для SIGTTOU у ребенка, а другой Обработчик сигналов для SIGUSR1 в родительском языке. Когда ребенок пытается выводить что-то к терминалу, он получает SIGTTOU . Затем он отправляет SIGUSR1 для родителя, который, в свою очередь, работает Fg% 1 и ставит ребенка на передний план.

Приведенное выше предполагается % 1 , чтобы быть дочерним процессом. На практике вы, вероятно, имеете один процесс в фоновом режиме в любом случае.

4
27.01.2020, 22:00

Теги

Похожие вопросы