Запустите несколько gui программ от терминала, не отрицая их

Я сделал очень простое (но полезный для меня) сценарием удара. Все, что это делает, просто открывает некоторые приложения, которые я открывал вручную. Вот код:

#!/bin/bash
netbeans &
mysql-workbench &
opera &
chromium-browser &

Теперь, когда я закрываю терминал, приложения, открытые сценарием, продолжают бежать. Который нормален, для именно это "и" там.

Мой вопрос: существует ли способ все еще запустить те приложения автоматически, но также и закрыть их автоматически? Если бы они все еще были присоединены к терминалу, то они закрылись бы, но когда я удаляю амперсанд, он только запускает первое приложение.

Спасибо

7
задан 20 February 2017 в 20:55

2 ответа

Эти две функции могут использоваться от Вашего .bashrc файл, чтобы запустить и закрыть их, просто назвать их с lapp и kapp:

lapp(){
     netbeans &
     mysql-workbench &
     opera &
     chromium-browser &
}

kapp() {
    pkill 'netbeans|mysql-workbench|opera|chromium-browser'
}

#Or

kapp() {
    killall 'netbeans|mysql-workbench|opera|chromium-browser'
}

информация:

  • не забывают работать source .bashrc за добавлением этих функций

<глоток> (источник: man pkill )

5
ответ дан 23 November 2019 в 06:26

Необходимо будет получить сценарий так, чтобы эти команды были выполнены в текущей оболочке, вместо в разветвленном - от оболочки, запущенной для сценария:

. ./foo.sh

Затем эти фоновые процессы будут частью управления заданиями Вашей оболочки.

могло бы быть легче использовать функцию. В Вашем bashrc, например, добавьте:

foo () {
    netbeans &
    mysql-workbench &
    opera &
    chromium-browser &
}

Затем когда Вы будете работать foo от удара, он выполнит команды в Вашей текущей оболочке.

5
ответ дан 23 November 2019 в 06:26

Другие вопросы по тегам:

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